Выбор варианта с помощью необычного выбора

У меня есть модный выбор с кодом, подобным следующему, но добавив selected=selected Атрибут одной из опций (с JS) не меняет, какой элемент выбран в данный момент.

<li class="field">
  <div class="picker">
    <select>
      <option value="#" disabled>Favorite Doctor…</option>
      <option>Colin Baker</option>
      <option>Sylvester McCoy</option>
      <option>Paul McGann</option>
      <option>Christopher Eccleston</option>
      <option>David Tennant</option>
      <option>Matt Smith</option>
    </select>
  </div>
</li>

Как я могу изменить выбранную опцию и отразить это изменение в поле выбора.

3 ответа

Решение

Попробуйте запустить событие изменения после установки выбранного параметра, например:

$('option:eq(2)').prop('selected',true).trigger('change'); // or .change()

Скрипка Демо

Я решил это, исправив код FS. Он использовал :selected в качестве селектора. Изменил это на [selected="selected"] и он вел себя. Лучше всего просто избегать FS, хотя, на мой взгляд. Я унаследовал это на проекте, над которым я работаю.

Вокруг строки 56 в моем экземпляре, теперь изменилось на:

triggerHtml = settings.triggerTemplate(sel.find('[selected="selected"]'));

Решил это, установив select.val() к тексту опции, которую я пытаюсь выбрать.

Другие вопросы по тегам