Установка первой опции <select> как выбрана

Я пытаюсь установить первую из нескольких, чтобы установить как выбранные

У меня

<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); потому что я думал, что эта строка задает какой-то параметр как выбранный, а затем я не могу переопределить его, но это не имеет никакого значения.

Любые идеи? Благодаря

Ответы

Ответ 1

Вы пробовали:

jQuery(".atributosSort option:first-child").attr("selected", true);

?

Ответ 2

Я использую "Выбрать один..." как свой первый вариант, без значения. Я нашел, что это работает для меня:

//for elements having classname, get the first option and make it selected
$('.classname').find('option:first').attr('selected','selected');

Это похоже на один отправленный @NeXXeuS, но будет делать это для всех ваших полей выбора.

Ответ 3

для новой версии jQuery:

$(".atributosSort").prop("selectedIndex", 0)

Ответ 4

Вы делаете это, когда $(document).ready(...)?

Попробуйте следующее:

jQuery(document).ready(function () {
    jQuery(".atributosSort")[0].selectedIndex = 0;
});

Ответ 5

Вы пробовали: (поместив круглые скобки после "sortDropDownListByText" в инструкцию "ready" )

// Use jQuery via jQuery(...)
 jQuery(document).ready(sortDropDownListByText(););

Ответ 6

jQuery(document).ready(function () {
    jQuery(".atributosSort")[0].selectedIndex = 0;
});

Билл Ящерица ♦

- лучший ответ, он не содержит ошибок с выбранным атрибутом при выборе.

Ответ 7

Вы пробовали этот код раньше? Я использую его для reset моих выпадающих списков на слишком многих проектах, используя jQuery:

// Use jQuery via jQuery(...)
 $("#yourTarget").val($("#yourTarget option:first").val());

Надеюсь, это поможет вам.