Выбранный вариант по умолчанию выбран с помощью 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
Ответы
Ответ 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?>');
попробуйте