如何检查ajax data.d是否为null?

时间:2017-01-10 08:59:11

标签: javascript jquery

我正在尝试使用jquery在html表中附加一些数据,但是当数据为null或为空时我必须将另一个div附加到该html表。

我是这样尝试的

$("#table").append(data.d[i].one!=""?
    "<td id='divs'>
       <input id="+ data.d[i].one +" type=" + "checkbox" + " class=" + "cbCheck" + ">
       <label  for="+ data.d[i].one +"></label>
    </td>":"<div></div>");

但它不起作用请帮我解决这个问题......

3 个答案:

答案 0 :(得分:1)

永远不明白为什么有人使用这个

$("#table").append(data.d[i].one!=""?
    "<td id='divs'>
       <input id="+ data.d[i].one +" type=" + "checkbox" + " class=" + "cbCheck" + ">
       <label  for="+ data.d[i].one +"></label>
    </td>":"<div></div>");

而不是:

    //class declaration
    function YourTableCell(name, value) {
       this.input = document.createElement('input');
       this.input.value = value;
       this.input.name = name;
       this.label = document.createElement('label');
       this.label.text = 'My Label';
       this.container = document.createElement('td');
       this.container.appendChild(this.input);
       this.container.appendChild(this.label);
    }


    //application buisness logic
    if(data.d[i].one != ''){
      var cell = new YourTableCell(data.d[i].name, data.d[i].value);
      $("#table").append(cell.container);
    } else {
      $("#table").append(document.createElement('div'));
    }

使用这种方法,您可以在类内部填充表格单元格,并使您的代码更具可读性和可重用性。另外,正如我现在所看到的,您正试图将td添加到ID为#table的内容中,并且看起来不正确,因为您应该在td内附加tr }。

此外,使用此功能可以获得对input s等所有对象的引用,并避免使用$('input,select,textarea')选择器。

答案 1 :(得分:0)

您可以使用:

if( data.d ){
    //Your code
}

这将检查data.dNULL还是空字符串""

如果要在每次迭代中签入,请使用索引i

if( data.d[i] ){
    //Your code
}

希望这有帮助。

看看https://stackoverflow.com/a/5515349/4281779

答案 2 :(得分:0)

你可以使用这样的东西,

var html = '<div></div>';

if(data.d[i].one) {
    html = '<td id="divs"><input id="' + data.d[i].one + '" type="checkbox" class="cbCheck"><label  for="' + data.d[i].one + '"></label></td>';
}

("#table").append(html);