我正在公司做Android PhoneGap项目。 我有一个JSON文件,想把它放到我的HTML选择框中。 由于我还是新手,我主要不了解JSON解析。
这是我的JSON文件(city.json):
[{"CityID":1,"CityName":"Magelang"},{"CityID":2,"CityName":"Jayapura"},{"CityID":3,"CityName":"Aceh"}]
我真的不知道是否需要解析。 我在这个帖子中跟随了RaYell的回答。 Jquery getJSON populate select menu question
因此,我对这些进行编码以将结果填充到选择框中的选项中。
$.getJSON('city.json', function(data){
var html = '';
var len = data.length;
for (var i = 0; i< len; i++) {
html += '<option value="' + data[i].CityID + '">' + data[i].CityName + '</option>';
}
$('#city').append(html);
});
但它对我的代码没有用。 我的选择框没有选项:( 有解决方案吗 谢谢。
答案 0 :(得分:0)
尝试执行$('#city').html(html);
以查看错误:
编辑:将其添加到$.getJSON
电话的末尾:
$(document).ready(function(){
$.getJSON(. . .).fail(function( jqxhr, textStatus, error ) {
var err = textStatus + ', ' + error;
alert( "Request Failed: " + err);
});
});
答案 1 :(得分:0)
您的for
循环不适用于对象。只有数组。
您需要使用for (var i in data) {
循环遍历对象的所有属性。