2016-07-07 2 views
1

그래서 데이터베이스에서이 행을 표로 표시하려고합니다. 일부 열은 채워지지 않고 일부 열은 column3 또는 columnX에 대해 null을 갖습니다.개체 내부에 null이 있는지 확인하십시오.

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

데이터를 수정하는 대신 || 연산자를 사용하여 문자열이 null이거나 비어있는 경우 다른 결과를 반환 할 수 있습니다.

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