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

  • Автор темы darkkassandra
  • 51
  • Обновлено
  • 18, May 2024
  • #1
У меня есть форма поиска на веб-странице, которая успешно работает, где при выборе категории раскрывающийся список подкатегорий успешно заполняется после выбора категории, которая использует этот код (и см. первое прикрепленное изображение):
 .change(function()


Код (разметка): Но когда добавляется плагин jquery, форма поиска работает, за исключением того, что раскрывающийся список подкатегорий не заполняется успешно после выбора категории, сценарий jQuery использует этот код:

<скрипт>

$(документ).ready(функция(){

$("select.ui-select").selectWidget({

изменить :function(changes){вернуть изменения;},

эффект: «слайд»,

keyControl: правда,

скорость: 200,

ScrollHeight :250});});

Итак, мне удалось связаться с автором сценария, и он сказал следующее: если вы используете $(...).change(function(){ // Сделайте что-нибудь });, ....в этом раскрывающемся списке изменение скрипта работает только в
изменение: функция (изменения) {
вернуть изменения;
},

... посмотрите на свой источник представления, там вы найдете $('select').change();
Итак, я предполагаю, что мне нужно как-то объединить два кода, возможно, использовать
 change : function (changes) { return changes; },
Код (разметка): а не
 <script> $(document).ready(function() { $("select[name='channel']").change(function() { var channel_id = $(this).val(); console.log(channel_id); $("select[name='sub_category']").html("<option value='All'>Sub Category</option>"); $.ajax({ type: "POST", url: "/ajax.php", data: "channel_id="+channel_id, dataType: 'json', statusCode: { 200: function(data) { for(i = 0; i < data.length; i ++) { $("select[name='sub_category']").append("<option value='"+data[i]["sub_channel_id"]+"'>"+data[i]["sub_channel_name"]+"</option>"); } } } }); }); }); </script>
Код (разметка): возможно? Любая дополнительная помощь будет оценена по достоинству.

darkkassandra


Рег
18 Jan, 2011

Тем
1

Постов
2

Баллов
12
  • 03, Jun 2024
  • #2
По сути, вам нужно будет переместить существующую функцию в параметр изменения в selectWidget. Обязательно поместите существующую функцию в условие if {}, если на странице есть больше вариантов выбора.
 

Иван Толстов


Рег
13 Oct, 2011

Тем
0

Постов
2

Баллов
2
  • 03, Jun 2024
  • #3
Спасибо за ваш ответ.

Очень ценю.

Не могли бы вы привести мне пример того, что вы подразумеваете под «сделать .selectWidget(); после того, как элемент создан»?

(Или, если бы был способ изменить код так, чтобы прокрутку/эффект получала только sub_category, а не раскрывающийся список «Категория», меня это тоже заинтересовало бы).
 

Герман Гаврилов


Рег
21 Mar, 2012

Тем
1

Постов
2

Баллов
12
  • 04, Jun 2024
  • #4
Спасибо за ваш ответ. Этот пересмотренный код теперь успешно работает с категориями и подкатегориями:
 <script>

$(document).ready(function(){

$("select.ui-select").selectWidget({

change: function(changes) {

var channel_id = changes;

var Parent = $('select[name=sub_category]').parent();

Parent.html('');

Parent.html('<select name="sub_category"><option value="All">Sub Category</option></select>');

$.ajax({ type: "POST",

url: "/ajax.php",

data: "channel_id="+channel_id,

dataType: 'json',

statusCode: {

200: function(data) {

for(i = 0; i < data.length; i ++) {

$("select[name='sub_category']").append("<option value='"+data[i]["sub_channel_id"]+"'>"+data[i]["sub_channel_name"]+"</option>");

}

}

}

});

return changes;

},

effect: "slide",

keyControl: true,

speed: 200,

scrollHeight: 250

});

});

</script>


Код (разметка):

Хотя форма поиска работает успешно (см. прикрепленный файл SearchForm1.png),

когда я выбираю выбор из раскрывающегося списка «Категория» (см. прикрепленный файл SearchForm2.png),

изменится внешний вид раздела подкатегории (необязательно) (см. прикрепленный файл SearchForm3.png).

Поле подкатегории (необязательно) не отображает раскрывающийся список/прокрутку jQuery, а только поле поля подкатегории (хотя функционально оно работает успешно).

Есть ли у вас предложение/идея, как это исправить, чтобы оно сохраняло тот же стиль, что и остальная часть раскрывающегося меню jQuery?
 

cheloveck


Рег
29 Aug, 2011

Тем
1

Постов
4

Баллов
14
Тем
49554
Комментарии
57426
Опыт
552966

Интересно