Я пытался создать динамический выпадающий список на моей странице. Идея состоит в том, что, когда пользователь меняет одну выпадающую, следующая заполняется на основе первой.Динамическое выпадающее меню без внешнего файла
Я использовал учебник здесь: https://css-tricks.com/dynamic-dropdowns/, но руководство использует внешние текстовые/json-файлы. Может ли кто-нибудь помочь мне понять, как я буду изменять код для текста/json, поэтому мне не нужно использовать внешние файлы (т. Е. У меня могут быть мои параметры в файле html)
Текст на текущий момент выглядит следующим образом:
$("#first-choice").change(function() {
$("#second-choice").load("textdata/" + $(this).val() + ".txt");
});
Для JSON код выглядит следующим образом:
$("#first-choice").change(function() {
\t var $dropdown = $(this);
\t $.getJSON("jsondata/data.json", function(data) {
\t
\t \t var key = $dropdown.val();
\t \t var vals = [];
\t \t \t \t \t \t \t
\t \t switch(key) {
\t \t \t case 'beverages':
\t \t \t \t vals = data.beverages.split(",");
\t \t \t \t break;
\t \t \t case 'snacks':
\t \t \t \t vals = data.snacks.split(",");
\t \t \t \t break;
\t \t \t case 'base':
\t \t \t \t vals = ['Please choose from above'];
\t \t }
\t \t
\t \t var $secondChoice = $("#second-choice");
\t \t $secondChoice.empty();
\t \t $.each(vals, function(index, value) {
\t \t \t $secondChoice.append("<option>" + value + "</option>");
\t \t });
\t });
});
Благодаря
Благодарим за это. К сожалению, я хотел бы понять, как внести изменения в существующий код, а не скрывать/показывать div. – Amar
Вы сказали, что хотите ваши варианты в html-файле, если это самый простой способ сделать это. На самом деле нет необходимости динамически заполнять вторую пачку. Но вы можете создать набор массивов в своем javascript, если вы хотите сделать это таким образом –