2
我想基於用戶從下拉菜單中的選擇在jQuery中構建一個嵌套數組。這將在以後的JSON請求中使用。使用基於選擇的下拉下來的jQuery填充變量
到目前爲止,我的代碼確實產生了(幾乎)所需的結果,但無論順序如何從我的下拉菜單中選擇選項,輸出(我在終端中登錄控制檯)始終是相同的。
$('#comboGenre').change(function() {
var values = $('#comboGenre').val();
var parsedJSON = JSON.parse($data); //Data returned from ajax request
for (var i = 0; i < values.length; i += 1) {
$genreList = parsedJSON.genre[i];
console.log($genreList);
}
});
所以,如果我從我的下拉菜單中選擇RPG和動作,輸出給了我RPG和駕駛。如果我選擇RPG,駕駛和行動(按此順序),我會得到我期望的角色扮演,駕駛和行動。
所以它只是遍歷我的JSON,當它真的應該返回'selected'選項。
我該如何做到這一點?
我的JSON看起來是這樣的,如果它是有用的:
{"genres": [{
"genre": "RPG",
"publishers": [{
"publisher": "Square",
"games": [{
"game": "FFX",
"rating": [
12, 15
]
}]
}]
},
{
"genre": "Driving",
"publishers": [{
"publisher": "Turn10",
"games": [{
"game": "Forza",
"rating": [
5
]
}]
}]
},
{
"genre": "Action",
"publishers": [{
"publisher": "EA",
"games": [{
"game": "COD",
"rating": [
18, 20
]
}]
}]
}
]}
編輯:
我也試過這樣:
$('#comboGenre').change(function() {
var parsedJSON = JSON.parse($data);
$genreList = "";
$.each(parsedJSON.genres, function(index, value){
$genreList = parsedJSON.genres[index];
console.log($genreList);
});
});
而我最終得到中的所有對象我JSON,所以從這裏開始,我只想將所選對象添加到$genreList
變量中。
是這樣多選框?和「駕駛」和「行動」是兩種不同的選擇? – lshettyl
是的,bootstrap UI – Hagbard
如果你創建了一個小提琴,它會幫助你 - > http://jsfiddle.net/ – lshettyl