Подтвердить что ты не робот

Выбранный вариант по умолчанию выбран с помощью jQuery

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

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

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

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

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

Любые идеи?


EDIT: опция успешно изменяется, выполняя то, что я упомянул выше, но не обновляет/не изменяет выбранный элемент в jQuery "выбранный" плагин. Мой вопрос заключается в обновлении выбранного значения для jQuery Chosen, а не HTML SELECT (который я сделал успешно). Вот ссылка на плагин jQuery Chosen

4b9b3361

Ответ 1

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

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

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

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

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

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

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

Обновление, выбранное динамически

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

$("#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, поэтому я не понимаю, почему этого не может быть сделано.

Ответ 2

Вы можете просто установить правильные элементы с выбранным атрибутом так:

<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

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

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

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

Ответ 4

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

$('#select_type').val('<?=$this->type_id;?>'); // Select the value before .chosen();
$('#select_type').chosen();

Ответ 5

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

попробуйте