Изменение выбора в select с помощью выбранного плагина



Я пытаюсь изменить выбранную в данный момент опцию в select с выбранным плагином.



на документация охватывает обновление списка и запуск события, когда выбран параметр, но ничего (что я могу видеть) при внешнем изменении текущего выбранного значения.



Я jsFiddle для демонстрации кода и мои попытки изменить выбор:



$('button').click(function() {
$('select').val(2);
$('select').chosen().val(2);
$('select').chosen().select(2);
});
498   3  

3 ответов:

из раздела "обновление выбранного динамически" в docs: вам нужно вызвать событие' chosen:updated ' на поле

$(document).ready(function() {

    $('select').chosen();

    $('button').click(function() {
        $('select').val(2);
        $('select').trigger("chosen:updated");
    });

});

Примечание: версии до 1.0 использовали следующее:

$('select').trigger("liszt:updated");

мой ответ запаздывает, но я хочу добавить некоторую информацию, которая отсутствует во всех приведенных выше ответах.

1) Если вы хотите выбрать одно значение в выбранном select.

$('#select-id').val("22").trigger('chosen:updated');

2) Если вы используете несколько выбранных выбрать, то, возможно, вам нужно установить несколько значений в одно время.

$('#documents').val(["22", "25", "27"]).trigger('chosen:updated');

информация собрана по следующим ссылкам:
1) Выбранные Документы
2) Выбран GitHub Обсуждение

иногда вам нужно удалить текущие параметры, чтобы управлять выбранными параметрами.

вот пример, как настроить параметры:

<select id="mySelectId" class="chosen-select" multiple="multiple">
  <option value=""></option>
  <option value="Argentina">Argentina</option>
  <option value="Germany">Germany</option>
  <option value="Greece">Greece</option>
  <option value="Japan">Japan</option>
  <option value="Thailand">Thailand</option>
</select>

<script>
activateChosen($('body'));
selectChosenOptions($('#mySelectId'), ['Argentina', 'Germany']);

function activateChosen($container, param) {
    param = param || {};
    $container.find('.chosen-select:visible').chosen(param);
    $container.find('.chosen-select').trigger("chosen:updated");
}

function selectChosenOptions($select, values) {
    $select.val(null);                                  //delete current options
    $select.val(values);                                //add new options
    $select.trigger('chosen:updated');
}
</script>

JSFiddle (в том числе, как добавить варианты): https://jsfiddle.net/tbaf0r38/30/

Comments

    Ничего не найдено.