我试图从json数组中获取数据并使用jquery和ajax填充select字段,我的json看起来像这样:
{
"regioni":
[
{
"nome": "Abruzzo",
"capoluoghi": ["Chieti", "L'Aquila", "Pescara", "Teramo"],
"province":["CH","AQ","PE","TE"]
},
{
"nome": "Basilicata",
"capoluoghi": ["Matera", "Potenza"],
"province":["MT","PZ"]
},
{
"nome": "Calabria",
"capoluoghi": ["Catanzaro", "Cosenza", "Crotone", "Reggio Calabria", "Vibo Valentia"],
"province":["CZ","CS","KR","RC","VV"]
}
]}
我现在要做的就是采取唯一的名字"字段并使用for循环迭代它,但它似乎无法正常工作:
var parsa = $.parseJSON(data);
$select = $('.c-select');
for(var i=0; i<parsa.regioni.nome; i++){
$select.append('<option>'+ parsa.regioni[i].nome +'</option>')
}
有什么不对? }
答案 0 :(得分:0)
更改
i<parsa.regioni.nome;
到
i<parsa.regioni.length;
然而,直接地,您可以迭代data.regioni
。像这样:
$(function() {
var data = {
"regioni": [{
"nome": "Abruzzo",
"capoluoghi": ["Chieti", "L'Aquila", "Pescara", "Teramo"],
"province": ["CH", "AQ", "PE", "TE"]
}, {
"nome": "Basilicata",
"capoluoghi": ["Matera", "Potenza"],
"province": ["MT", "PZ"]
}, {
"nome": "Calabria",
"capoluoghi": ["Catanzaro", "Cosenza", "Crotone", "Reggio Calabria", "Vibo Valentia"],
"province": ["CZ", "CS", "KR", "RC", "VV"]
}]
};
var $select = $('.c-select');
for (var i = 0; i < data.regioni.length; i++) {
$select.append('<option>' + data.regioni[i].nome + '</option>');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="c-select"></select>