#javascript #jquery #multi-select
Вопрос:
Я использую плагин jQuery для создания демонстрационной версии Github с несколькими вариантами выбора. Теперь я хотел бы искусственно изменить выбор выпадающего меню из другой функции. Итак, у меня есть вот что:
HTML-часть:
<select id="Fruits" name="Fruits" multiple="" style="display: none;">
<option value="1">Number1</option>
<option value="2">Number2</option>
<option value="3">Number3</option>
</select>
Затем я использую этот код для инициализации меню:
$(function(){
$('#Fruits').multiSelect({'noneText':'Select Fruits'});
});
В результате получается:
Теперь я хотел бы выбрать определенную опцию, запустив другую функцию:
Поскольку я на самом деле не знаком с jQuery, мне трудно понять исходный код плагина. До сих пор я пробовал такие вещи, как это:
$("#Fruits").data("plugin_multiSelect").updateButtonContents()
или
$("#Fruits").data("plugin_multiSelect").$element.on('change.multiselect')
Кажется, я немного заблудился.
Комментарии:
1.
.$element.on('change.multiselect')
инициируется ли событие при выборе материала2. @mplungjan Спасибо вам! Вот почему я попробовал. Он просто зовет
_this.updateButtonContents()
. Я думаю, что мне нужно каким-то образом вставить поле параметров, которое я хочу выбрать, в «_ это»?3. Я просто вижу, что
updateButtonContents()
ищу «избранного»if $(this).is(':selected')) {selected.push( $.trim(text) );}
Как я могу пометить запись как выбранную?4. Я бы выбрал другой плагин или спросил автора github.com/mysociety/jquery-multi-select/issues — в демонстрационном коде даже нет примера
Ответ №1:
Я только что выяснил синтаксис для изменения состояния выбора при множественном выборе. Это было бы:
$('#Fruits').val(["0","4"]);
$("#Fruits").data("plugin_multiSelect").updateMenuItems();
Таким образом, будут выбраны 1-й и 5-й элементы раскрывающегося списка «Фрукты».