Выбрал выбрать опцию по умолчанию с помощью jQuery - PullRequest
26 голосов
/ 06 февраля 2012

У меня есть одно поле выбора с опциями, и я использую jQuery "Chosen" в Zend View.Этот плагин работает нормально.

Javascript:
$('#select_type').chosen();

Моя проблема в том, что мне нужно выбрать один из вариантов при загрузке страницы в зависимости от значения type_id.Я пробовал это:

document.getElementById('select_type').value = '<?=$this->type_id?>';

Это меняет свое значение, но опция не выбрана в выбранном JQuery.

Любые идеи?


РЕДАКТИРОВАТЬ: опцияуспешно изменяется, делая то, что я упомянул выше, но это не обновляет / изменяет выбранный элемент в jQuery «выбранный» плагин.Мой вопрос об обновлении выбранного значения для jQuery Chosen, а не HTML SELECT (что я сделал успешно). Вот ссылка на плагин jQuery Chosen

Ответы [ 6 ]

60 голосов
/ 06 февраля 2012

Обновить список с помощью JS

После запуска:

document.getElementById('select_type').value = '<?=$this->type_id?>';

Для выбранной версии 1 и выше (новее)

Вам следует позвонить:

$('#select_type').trigger('chosen:updated');

Взято из Выбранной документации :

Обновление Выбранного Динамически

Если вам нужно обновить опции в выбранном вами поле и хотите, чтобы Избранный принял изменения, вы 'Вам нужно вызвать событие «selected: updated» на поле.Chosen восстановит себя на основе обновленного содержимого.

$("#form_field").trigger("chosen:updated");

См. журнал изменений для объявления об этом изменении API.

Для выбранных версий ниже 1 (более старых)

Вы должны позвонить:

$('#select_type').trigger('liszt:updated');

Взято из Выбранной документации :

ОбновлениеДинамически выбранный

Если вам нужно обновить параметры в выбранном вами поле и вы хотите, чтобы выбранный элемент зафиксировал изменения, вам нужно вызвать событие «liszt: updated» на поле.Выбранный будет перестраивать себя на основе обновленного содержимого.

  • jQuery Версия : $("#form_field").trigger("liszt:updated");
  • Версия прототипа : Event.fire($("form_field"), "liszt:updated");

Установите значение перед вызовом Chosen

Вместо того, чтобы делать это из JS, почему бы просто не установить выбранную опцию в HTML перед вызовом плагина Chosen с помощьюJavaScript?Вы устанавливаете значение из части PHP, поэтому я не понимаю, почему это невозможно сделать.

6 голосов
/ 26 ноября 2012

Вы можете просто установить правильные элементы с атрибутом, выбранным следующим образом:

<select name="teams[]" data-placeholder="Chose an option:" 
        class="chzn-select" multiple tabindex="6">
    <option value=""></option>
    <option selected="selected">Dallas Cowboys</option>
    <option selected="selected">New York Giants</option>
    <option>Philadelphia Eagles</option>
    <option>Washington Redskins</option>
</select>

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

3 голосов
/ 02 сентября 2013

Попробуйте это:

$("#select_type").val(<?=$this->type_id?>).trigger('change');

$('#select_type').trigger('liszt:updated');
2 голосов
/ 06 февраля 2012

Попробуйте это:

$('#select_type').val('<?=$this->type_id;?>'); // Select the value before .chosen();
$('#select_type').chosen();
0 голосов
/ 10 февраля 2018

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

$("#choen-presentacion").val(value.id_presentacion).trigger('chosen:updated')
0 голосов
/ 06 февраля 2012
$('#select_type').val('<?=$this->type_id?>');

попробуйте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...