我在jquery用户中迭代客户列表,如下所示
$.post("customer", {param: cid, order: order}, function (data) {
console.log(data);
$.each(data.customerList, function (i, obj) {
$("#" + tid).append('<tr><td>' + (i + 1) + '</td><td>' + obj.customerName + '</td><td>' + obj.address + '</td>'
+ '<td>' + obj.city + '</td><td>' + obj.state + '</td><td>' + obj.country + '</td><td>' + obj.mobno + '</td></tr>');
});
此代码正常运行并正确获取数据。 我的问题是它显示未定义的空字段。 如何解决这个问题。
答案 0 :(得分:3)
使用|| ""
:
$.post("customer", {param: cid, order: order}, function (data) {
console.log(data);
$.each(data.customerList, function (i, obj) {
$("#" + tid).append('<tr><td>' + (i + 1) + '</td><td>' + (obj.customerName || "") + '</td><td>' + (obj.address || "") + '</td>'
+ '<td>' + (obj.city || "") + '</td><td>' + (obj.state || "") + '</td><td>' + (obj.country || "") + '</td><td>' + (obj.mobno || "") + '</td></tr>');
});
如果该字段为空,则会设置空值而不是undefined
参见以下示例:
var test = {
prop1: "Test value",
prop2: null,
prop3: undefined
};
console.log(test.prop1 || "empty");
console.log(test.prop2 || "empty");
console.log(test.prop3 || "empty");
console.log(test.prop4 || "empty");
&#13;