У меня есть вложенное JSON объект, который я пытаюсь пройти для того, чтобы заполнить опции в <select>
тега, на основе которого выбрать опцию пользователь выбираетPopulate Выберите тег с вложенной JSON объект
Сначала выберите Тэг:
<select name="food-category" id="food-category">
<option id="italian">Italian</option>
<option id="bbq">BBQ</option>
</select>
ответ JSON вернулся на change
выберите событие
{
"food-types": {
"italian": [
{"pasta": "Pasta"},
{"pizza": "Pizza"},
{"chicken-parm": "Chick Paremesan"},
],
"bbq": [
{"ribs": "Ribs"},
{"burger": "Burger"},
{"steak": "Steak"}
]
}
}
у меня есть запрос Ajax, заполняющий мой <options>
, однако с каждым отдельным объектом внутри отдельной категории продуктов питания.
$('#food-category').on('change', function (e) {
//AJAX request omitted for brevity
var data = this.get('responseData');
foodTypes= data.["food-types"];
for(key in foodTypes) {
if(foodTypes.hasOwnProperty(key)){
$('#search-food').append('<option value="' + key + '">' + foodTypes[key] + '</option>');
}
Так что в моем втором Select Tag, один вариант заканчивается время
<select name="search-food" id="search-food">
<option value="food-type">[object Object],[object Object],[object Object],[object Object],[object Object]</option>
</select>
Как я могу получить мои параметры, чтобы отобразить только одну категорию типа продуктов питания на вариант от вложенного ответа JSON? Я думал о функции, которая проверяет ценность категории продуктов и возвращает категорию, выбранную с использованием оператора case, но я не уверен, как бы подключить это в мой цикл for, который устанавливает значения ключа.
Надеется, что это все имеет смысл - может включать в себя более подробной информацию, если это необходимо
Это действительно плохая структура данных. Было бы намного проще использовать что-то вроде '{value:" pasta ", text:" Pasta "}', тогда у вас есть согласованные ключи для работы с – charlietfl
. Если бы это было так, каждый параметр не выводился как '<значение опции = "value"> 'как установлено в моем for-loop? –
нет, вы должны отрегулировать вывод для использования известных ключей объекта – charlietfl