Ответ 1
Вы пробовали:
jQuery(".atributosSort option:first-child").attr("selected", true);
?
Я пытаюсь установить первую из нескольких, чтобы установить как выбранные
У меня
<select name="id[21]" class="atributosSort">
<option value="107">1. Sin adaptadores de video (+$45)</option>
<option value="108">2. Mini Displayport to DVI (+$112)</option>
<option value="109">3. Mini Displayport to VGA</option>
</select>
Я пробовал
jQuery(".atributosSort")[0].selectedIndex = 0;
и
jQuery(".atributosSort option:first").attr('selected','selected');
оба обсуждались в Как сделать первый вариант <select> выбрано с помощью jQuery? но когда я проверяю DOM, никакой атрибут не добавляется ни к какому
Я использую jQuery(), потому что я в режиме noConflict. Это может быть проблема?
Когда я запускаю обе попытки получить выбранное значение, я не получаю никаких ошибок в консоли Script
Еще одна вещь, которая может иметь значение, заключается в том, что я сортирую параметры с помощью этого
function sortDropDownListByText() {
// Loop for each select element on the page.
jQuery("select").each(function() {
// Keep track of the selected option.
var selectedValue = jQuery(this).val();
// Sort all the options by text. I could easily sort these by val.
jQuery(this).html(jQuery("option", jQuery(this)).sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}));
// Select one option.
//jQuery(this).val(selectedValue);
});
}
// Use jQuery via jQuery(...)
jQuery(document).ready(sortDropDownListByText);
Я прокомментировал jQuery (это).val(selectedValue); потому что я думал, что эта строка задает какой-то параметр как выбранный, а затем я не могу переопределить его, но это не имеет никакого значения.
Любые идеи? Благодаря
Вы пробовали:
jQuery(".atributosSort option:first-child").attr("selected", true);
?
Я использую "Выбрать один..." как свой первый вариант, без значения. Я нашел, что это работает для меня:
//for elements having classname, get the first option and make it selected
$('.classname').find('option:first').attr('selected','selected');
Это похоже на один отправленный @NeXXeuS, но будет делать это для всех ваших полей выбора.
для новой версии jQuery:
$(".atributosSort").prop("selectedIndex", 0)
Вы делаете это, когда $(document).ready(...)
?
Попробуйте следующее:
jQuery(document).ready(function () {
jQuery(".atributosSort")[0].selectedIndex = 0;
});
Вы пробовали: (поместив круглые скобки после "sortDropDownListByText" в инструкцию "ready" )
// Use jQuery via jQuery(...)
jQuery(document).ready(sortDropDownListByText(););
jQuery(document).ready(function () {
jQuery(".atributosSort")[0].selectedIndex = 0;
});
Билл Ящерица ♦
- лучший ответ, он не содержит ошибок с выбранным атрибутом при выборе.
Вы пробовали этот код раньше? Я использую его для reset моих выпадающих списков на слишком многих проектах, используя jQuery:
// Use jQuery via jQuery(...)
$("#yourTarget").val($("#yourTarget option:first").val());
Надеюсь, это поможет вам.