我有一个像这样的空数组:
{"18":[]}
但是其他JSON是这样的:
{
"223": [
{
"virtuemart_state_id": "1",
"state_name": "Alabama"
},
{
"virtuemart_state_id": "2",
"state_name": "Alaska"
}
]
}
我试图像这样检查:
jQuery("#paramsstates_chzn .search-field: input").click(function(){
var country = jQuery("#country").val(),
chzn,
url = "http://localhost/data.php?id="+country;
jQuery.getJSON(url, function(data){
console.log(data);
if (jQuery.isEmptyObject(data[country])) {
chzn = "<li class='active-result'>Empty</li>";
jQuery("ul.chzn-results").html(chzn);
return;
}
$.each(data[country], function(i, rep){
chzn += "<li class='active-result' id ='paramsstates_chzn_o_"+ i + "' >"+ rep.state_name +"</li>";
});
jQuery("ul.chzn-results").html(chzn);
});
});
我在哪里犯了错误,因为它没有更新ul.chzn-results类区域。
HTML:
<ul class="chzn-results"></ul>
我也尝试这样做长度检查。但是没有工作。
(data[country].length === 0)
答案 0 :(得分:1)
不需要jQuery,即纯JavaScript。
var o = {"18":[]};
var isEmpty = o["18"].length === 0;
答案 1 :(得分:0)
更改
if (jQuery.isEmptyObject(data[country])) {
到
if (data[country].length==0) {
答案 2 :(得分:0)
您可以使用use:(data[country]).length ==0
来检查数组是否为空
jQuery("#paramsstates_chzn .search-field: input").click(function(){
var country = jQuery("#country").val(),
chzn,
url = "http://localhost/joomla/data.json";
jQuery.getJSON(url, function(data){
console.log(data);
if ((data[country]).length ==0) {
chzn = "<li class='active-result'>Empty</li>";
jQuery("ul.chzn-results").html(chzn);
return;
}
$.each(data[country], function(i, rep){
chzn += "<li class='active-result' id ='paramsstates_chzn_o_"+ i + "' >"+ rep.state_name +"</li>";
});
jQuery("ul.chzn-results").html(chzn);
});
});