Чтобы установить одно значение в выпадающем списке в качестве верхнего из массива значений: jquery

#javascript #jquery #drop-down-menu

#javascript #jquery #выпадающее меню

Вопрос:

У меня есть выпадающий список в jquery. Я заполняю этот выпадающий список с помощью массива. Я хочу установить одно из значений в качестве первого в списке из массива значений. Допустим, у меня есть ‘a’, ‘b’, ‘c’ в массиве, и я хочу установить ‘b’ в качестве первого в массиве.

Заранее большое спасибо..

Комментарии:

1. $('select option:eq(1)').prop('selected', true);

Ответ №1:

 $('select option:eq(1)').prop('selected', true);
  

где 1 — это индекс ‘b’ внутри вашего массива.

Комментарии:

1. Я попробовал это, и это сработало.. $(«#selectControl»).attr(‘SelectedIndex’,indexVal); Большое спасибо всем за быстрые ответы….

2. Ах, мне нравится это решение еще больше 🙂

3. $(«#selectControl»).attr(‘SelectedIndex’, indexVal);

Ответ №2:

Если вы хотите установить один параметр как «ВЫБРАННЫЙ, вам просто нужно добавить его в html следующим образом:

 <option value='your' SELECTED>Name</option>
  

Это сделает этот параметр первым в списке или выбранным.
В противном случае параметры будут следовать в том порядке, в котором вы их указали

 <option value='your1'>Name1</option>
<option value='your2'>Name1</option>
  

в этом случае Name1 будет отображаться перед Name2

Ответ №3:

установите свойство selected="selected" в <option> теге для этого конкретного значения

Ответ №4:

Вы можете изменить порядок массива, используя комбинацию array.splice() и array.concat() . Затем выполните привязку как обычно. например

 var foo = ['a', 'b', 'c'];
var bar = foo.splice(1,1); // the first arg is the index of the item to remove
var baz = bar.concat(foo); // baz contains the new array with the 'b' value in the first spot
  

Ответ №5:

Решение Джона Стикса хорошее.

Если вы хотите сделать это с текстом, а не с индексом, вы могли бы сделать:

     //BUILD ARRAY
    var fruits = ["Banana", "Orange", "Apple", "Mango"];

    //BUILD DROPDOWN
    var firstItem = "Mango";
    var buildHTML = "";
    $.each( fruits, function(intIndex, objValue){ 
        if(objValue != firstItem) {
            buildHTML  = "<option>" objValue "</option>";
        } else {
            buildHTML = "<option>" objValue "</option>" buildHTML;
        }
    });
    $("#dropdownbox").append(buildHTML);
  

И иметь пустое поле выбора

 <select id="dropdownbox">
</select>
  

Ответ №6:

Я попробовал и нашел ответ:

$(«#selectControl»).attr(‘SelectedIndex’, indexVal);