Intereting Posts
Предупреждение: невозможно изменить информацию заголовка – заголовки, уже отправленные Как сохранить JQuery UI упорядоченные позиции таблицы в базе данных MySQL? Шифрование и расшифровка текста с помощью RSA в PHP Обновить значения из таблицы MYSQL без перезагрузки страницы? Eclipse (PDT) досадно блокирует файлы .phtml для типа содержимого PHP Laravel: выполнение некоторых задач при каждой вставке / обновлении при использовании Query Builder или Eloquent ORM Рекурсивный просмотр всех каталогов серверов и список новейших созданных файлов с php После изменения моего файла .htaccess, чтобы скрыть расширение .php из URL-адреса, некоторые элементы каталога не могут быть найдены Получить визуализацию HTML из локального файла PHP Замена партии Проверка номера телефона в php codeigniter Скриншоты веб-страницы с PHP? как отправлять и аудиофайлы по электронной почте с помощью joomla или php Symfony Console – перезаписать параметры по умолчанию MySQL к MySQL клон с PHP

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

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

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

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

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

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

Есть идеи?


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

    Обновить список с помощью 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'); 

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

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

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

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

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

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

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

     <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> 

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

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

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

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

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

    попробуй