заполнить два поля выбора из поля выбора

Я просмотрел эти темы для решения моей проблемы, но я думаю, что мой вопрос немного отличается.

У меня есть 3 поля выбора в моей форме. Названы «Категория», «Подкатегория», «Тема».

Подкатегория заполняется выбором категории, а тема выбирается из поля выбора подкатегории.

Я создал обобщенную функцию для заполнения полей выбора с помощью jquery.

Я вызываю эту функцию (populateSelectBox) в событии изменения родительского поля выбора.

Теперь поле выбора подкатегории легко заполняется в событии изменения поля выбора категории, но если в подкатегории есть только один параметр, заполненный через ajax, событие изменения для подкатегории не запускается, поскольку в поле выбора подкатегории есть только один элемент. .

Что мне делать в таком случае в ?

Пожалуйста помоги


person Gaurav Sharma    schedule 02.06.2010    source источник


Ответы (2)


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

$('#mySubCategorySelect').trigger('change');

или просто:

$('#mySubCategorySelect').change();

Другой способ — добавить option вверху каждого select, который фактически является заголовком. Что-то типа:

<select>
    <option>Please choose a category</option>
    <option>some option</option>
</select>

Это потребует от пользователя выбора опции, даже если существует только одна.

person user113716    schedule 02.06.2010

Публикация этого ответа, поскольку мне нужно было заполнить третье поле выбора только в событии изменения второго поля выбора.

Спасибо Патрику за идею пустого выбора

Поэтому вместо того, чтобы добавлять пустую опцию «выбрать» через PHP, я изменил свою функцию populateSelectBox таким образом, чтобы она автоматически добавляла в ответ пустую опцию «выбрать», например $element.append('<option value="">Select</option>');, чтобы изменить событие может быть инициировано пользователем.

person Gaurav Sharma    schedule 03.06.2010