2016-07-07 145 views
1

因此,我想从我的数据库中将这些行显示为表格,但并非所有列都被填充,有些行对于列3或列X具有空值。检查对象内是否为空

if(datos[i].column1== "" || datos[i].column1== null) 
         datos[i].column1= "-"; 
        if(datos[i].column2== "" || datos[i].column2== null) 
         datos[i].column2= "-"; 
        if(datos[i].column3== "" || datos[i].column3== null) 
         datos[i].column3= "-"; 
        if(datos[i].column4 == "" || datos[i].column4 == null) 
         datos[i].column4 = "-"; 
        if(datos[i].column5 == "" || datos[i].column5== null) 
         datos[i].column5 = "-"; 
        if(datos[i].column6 == "" || datos[i].column6 == null) 
         datos[i].column6 = "-"; 
        if(datos[i].column7 == "" || datos[i].column7== null) 
         datos[i].column7= "-"; 
        s+='<tr>'+ 
         ' <td data-type="1">'+ datos[i].column1 + '</td>' + 
         ' <td data-type="2">'+ datos[i].column2 + '</td>' + 
         ' <td data-type="3">'+ datos[i].column3 + '</td>' + 
         ' <td data-type="4">'+ datos[i].column4 + '</td>' + 
         ' <td data-type="5">'+ datos[i].column5 + '</td>' + 
         ' <td data-type="6">'+ datos[i].column6.substr(0, 10) + '</td>' + 
         ' <td data-type="7">'+ datos[i].column7.substr(0, 10) + '</td>' + 
         ' <td data-type="8">'+ datos[i].column8.substr(0, 10) + '</td>' + 
         ' <td data-type="9">'+ datos[i].column9+ '</td>' + 
         ' <td data-type="10">'+ datos[i].column10+ '</td>' + 
         ' <td data-align="center"><p data-placement="top"><button class="btn btn-primary btn-xs" onclick=LlenaDatos("' + datos[i].column2+ '")><span class="glyphicon glyphicon-pencil"></span></button></p></td> ' + 
         '</tr>'; 

我认为它看起来非常野蛮似的,我希望一个不太原始的方式来检查空值或空的所有列,并让它们看起来只是一个破折号。

+0

因此,你的代码的工作原理,但你想改进它?如果是这种情况,也许http://codereview.stackexchange.com/会是一个更好的地方。 – zezollo

+0

我不知道那个:哦那么现在我会知道今后的问题,比如这个,是的,代码工作,我只是不知道如何循环它,不必写块像我做的那样。谢谢大家〜 – dreami

回答

1

试试这个:

s += '<tr>'; 
$.each(datos[i], function(key, val){ 
    if(!val) 
     datos[i][key] = "-"; 
    s += ' <td data-type="1">'+ datos[i][key] + '</td>'; 
}); 
s += '<td data-align="center"><p data-placement="top"><button class="btn btn-primary btn-xs" onclick=LlenaDatos("' + datos[i].column2+ '")><span class="glyphicon glyphicon-pencil"></span></button></p></td></tr>'; 

现在你可以在一个单一的循环做的一切。

0

而不是修改数据,如果字符串为空或空,则可以使用||运算符返回其他内容。

... 
' <td data-type="1">'+ (datos[i].column1 || '-') + '</td>' + 
' <td data-type="2">'+ (datos[i].column2 || '-') + '</td>' + 
...