2017-10-16 80 views
0

我正在使用JSON2html將虛擬數據解析到表格中。每行的最後一個td是一個布爾值。我意識到這可能是一件很容易完成的事情,但由於某種原因,我嘗試過的任何事情都沒有奏效。我正在嵌入我的代碼。我正在尋找使文本變成綠色,如果爲假,紅色如果爲真。JSON2html表格現在嘗試更改布爾單元格的文本值顏色

var data = [{ 
 
    "id": 1, 
 
    "first_name": "Lemar", 
 
    "last_name": "Rutherfoord", 
 
    "gender": "Male", 
 
    "hr": 142, 
 
    "resp": 86, 
 
    "temp": 99.3, 
 
    "wandering history": "true" 
 
    }, { 
 
    "id": 2, 
 
    "first_name": "Jo-ann", 
 
    "last_name": "Brack", 
 
    "gender": "Female", 
 
    "hr": 115, 
 
    "resp": 22, 
 
    "temp": 104.1, 
 
    "wandering history": "true" 
 
    }, { 
 
    "id": 3, 
 
    "first_name": "Ogdon", 
 
    "last_name": "Reiach", 
 
    "gender": "Male", 
 
    "hr": 81, 
 
    "resp": 16, 
 
    "temp": 98.5, 
 
    "wandering history": "false" 
 
    }, 
 
    { 
 
    "id": 4, 
 
    "first_name": "Brigida", 
 
    "last_name": "Puttan", 
 
    "gender": "Female", 
 
    "hr": 98, 
 
    "resp": 60, 
 
    "temp": 95.6, 
 
    "wandering history": "true" 
 
    }, 
 
    { 
 
    "id": 5, 
 
    "first_name": "Doretta", 
 
    "last_name": "Limbourne", 
 
    "gender": "Female", 
 
    "hr": 87, 
 
    "resp": 15, 
 
    "temp": 96.5, 
 
    "wandering history": "false" 
 
    }, 
 
    { 
 
    "id": 6, 
 
    "first_name": "Coraline", 
 
    "last_name": "Millen", 
 
    "gender": "Female", 
 
    "hr": 19, 
 
    "resp": 19, 
 
    "temp": 95.2, 
 
    "wandering history": "false" 
 
    }, 
 
    { 
 
    "id": 7, 
 
    "first_name": "Brian", 
 
    "last_name": "Klampt", 
 
    "gender": "Male", 
 
    "hr": 144, 
 
    "resp": 77, 
 
    "temp": 102.2, 
 
    "wandering history": true 
 
    }, 
 
    { 
 
    "id": 8, 
 
    "first_name": "Pippy", 
 
    "last_name": "Grieswood", 
 
    "gender": "Female", 
 
    "hr": 67, 
 
    "resp": 50, 
 
    "temp": 94.3, 
 
    "wandering history": "false" 
 
    } 
 
]; 
 
var transform = { 
 
    tag: 'tr', 
 
    children: [{ 
 
    "tag": "td", 
 
    "html": "${id}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${first_name} ${last_name}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${gender}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${hr}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${temp}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${resp}" 
 
    }, { 
 
    "tag": "td class = 'atRisk'", 
 
    "html": "${wandering history}" 
 
    }] 
 
}; 
 

 
// \t if($('.atRisk') === "true"){ 
 

 
// \t \t $('.attRisk').addCss('color','red'); 
 

 
// \t } else { 
 
// \t \t $('.atRisk').css('color','green'); 
 
// \t } 
 
// \t \t }); 
 
// if($('.atRisk').val()){ 
 
// \t $('.atRisk').css('color','red'); 
 
// }else { 
 
// \t $('.atRisk').addClass('green'); 
 
// } 
 

 
$('#placar > tbody ').json2html(data, transform); 
 
// var wander = document.querySelectorAll('history'); 
 

 
// console.log(wander); 
 
// $.each(wander != true){ 
 
// \t console.log('not true'); 
 
// } 
 

 
//alert(wander); 
 
$('.atRisk').each(function() { 
 
    if ($(this).val() != true) { 
 
    $(this).css('color', 'green'); 
 
    } 
 
});
.atRisk { 
 
    color: red; 
 
}
<head> 
 
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta/css/bootstrap.min.css" rel="stylesheet" /> 
 
</head> 
 

 
<body> 
 

 
    <div class="container"> 
 
    <p></p> 
 
    <table id="placar" class=" table table-bordered table-hover"> 
 
     <thead class="thead-inverse"> 
 
     <tr> 
 
      <th>ID</th> 
 
      <th>Name</th> 
 
      <th>Gender</th> 
 
      <th>Heart Rate</th> 
 
      <th>Temperature</th> 
 
      <th>Respirations</th> 
 
      <th>Previous Wandering Events</th> 
 
     </tr> 
 
     </thead> 
 
     <tbody></tbody> 
 
    </table> 
 
    </div> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/json2html/1.0.0/json2html.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.json2html/1.0.0/jquery.json2html.js"></script> 
 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script> 
 
</body>

回答

1

兩個問題:

1 - 你正在尋找val()它不會在標籤存在;我改變它來代替.text()

2 - 我仍然需要比較字符串到字符串。這可能只是我的代碼,你可能會更清楚一些。

在腳本結尾處查看我的評估代碼。

(同樣,我也不會感到驚訝,如果我有紅/綠逆轉

var data = [{ 
 
    "id": 1, 
 
    "first_name": "Lemar", 
 
    "last_name": "Rutherfoord", 
 
    "gender": "Male", 
 
    "hr": 142, 
 
    "resp": 86, 
 
    "temp": 99.3, 
 
    "wandering history": "true" 
 
    }, { 
 
    "id": 2, 
 
    "first_name": "Jo-ann", 
 
    "last_name": "Brack", 
 
    "gender": "Female", 
 
    "hr": 115, 
 
    "resp": 22, 
 
    "temp": 104.1, 
 
    "wandering history": "true" 
 
    }, { 
 
    "id": 3, 
 
    "first_name": "Ogdon", 
 
    "last_name": "Reiach", 
 
    "gender": "Male", 
 
    "hr": 81, 
 
    "resp": 16, 
 
    "temp": 98.5, 
 
    "wandering history": "false" 
 
    }, 
 
    { 
 
    "id": 4, 
 
    "first_name": "Brigida", 
 
    "last_name": "Puttan", 
 
    "gender": "Female", 
 
    "hr": 98, 
 
    "resp": 60, 
 
    "temp": 95.6, 
 
    "wandering history": "true" 
 
    }, 
 
    { 
 
    "id": 5, 
 
    "first_name": "Doretta", 
 
    "last_name": "Limbourne", 
 
    "gender": "Female", 
 
    "hr": 87, 
 
    "resp": 15, 
 
    "temp": 96.5, 
 
    "wandering history": "false" 
 
    }, 
 
    { 
 
    "id": 6, 
 
    "first_name": "Coraline", 
 
    "last_name": "Millen", 
 
    "gender": "Female", 
 
    "hr": 19, 
 
    "resp": 19, 
 
    "temp": 95.2, 
 
    "wandering history": "false" 
 
    }, 
 
    { 
 
    "id": 7, 
 
    "first_name": "Brian", 
 
    "last_name": "Klampt", 
 
    "gender": "Male", 
 
    "hr": 144, 
 
    "resp": 77, 
 
    "temp": 102.2, 
 
    "wandering history": true 
 
    }, 
 
    { 
 
    "id": 8, 
 
    "first_name": "Pippy", 
 
    "last_name": "Grieswood", 
 
    "gender": "Female", 
 
    "hr": 67, 
 
    "resp": 50, 
 
    "temp": 94.3, 
 
    "wandering history": "false" 
 
    } 
 
]; 
 
var transform = { 
 
    tag: 'tr', 
 
    children: [{ 
 
    "tag": "td", 
 
    "html": "${id}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${first_name} ${last_name}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${gender}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${hr}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${temp}" 
 
    }, { 
 
    "tag": "td", 
 
    "html": "${resp}" 
 
    }, { 
 
    "tag": "td class='atRisk'", 
 
    "html": "${wandering history}" 
 
    }] 
 
}; 
 

 
// \t if($('.atRisk') === "true"){ 
 

 
// \t \t $('.attRisk').addCss('color','red'); 
 

 
// \t } else { 
 
// \t \t $('.atRisk').css('color','green'); 
 
// \t } 
 
// \t \t }); 
 
// if($('.atRisk').val()){ 
 
// \t $('.atRisk').css('color','red'); 
 
// }else { 
 
// \t $('.atRisk').addClass('green'); 
 
// } 
 

 
$('#placar > tbody ').json2html(data, transform); 
 
// var wander = document.querySelectorAll('history'); 
 

 
// console.log(wander); 
 
// $.each(wander != true){ 
 
// \t console.log('not true'); 
 
// } 
 

 
//alert(wander); 
 
$('.atRisk').each(function() { 
 
    if ($(this).text().toLowerCase() != "true") { 
 
    $(this).css('color', 'green'); 
 
    } 
 
});
.atRisk { 
 
    color: red; 
 
}
<head> 
 
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta/css/bootstrap.min.css" rel="stylesheet" /> 
 
</head> 
 

 
<body> 
 

 
    <div class="container"> 
 
    <p></p> 
 
    <table id="placar" class=" table table-bordered table-hover"> 
 
     <thead class="thead-inverse"> 
 
     <tr> 
 
      <th>ID</th> 
 
      <th>Name</th> 
 
      <th>Gender</th> 
 
      <th>Heart Rate</th> 
 
      <th>Temperature</th> 
 
      <th>Respirations</th> 
 
      <th>Previous Wandering Events</th> 
 
     </tr> 
 
     </thead> 
 
     <tbody></tbody> 
 
    </table> 
 
    </div> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/json2html/1.0.0/json2html.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.json2html/1.0.0/jquery.json2html.js"></script> 
 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script> 
 
</body>

+0

使用空間改變的最後一個單元的類名好極了!非常感謝。我真的很感激你花時間。而且你沒有得到他們現場的顏色切換!試圖upvote你,但我沒有足夠的代表點。 – ErikaHarvey

+0

不客氣。樂意效勞。 – theGleep

0

只需添加到這個回答有點:你其實可以嵌入在這個邏輯變換。這裏也有一些其他的點

  • 「孩子」已經被廢棄了的「HTML」
  • 「tag」已棄用爲「<>」
  • 可以將「class」作爲屬性添加到轉換中(而不是執行「td class ='something'」)也可以使用內聯函數來返回值可以改變細胞顏色的類。我的例子將根據「流浪史」

PS也儘量不要在JSON鍵名:)

var transform = { 
 
    "<>": "tr", 
 
    "html": [{ 
 
    "<>": "td", 
 
    "html": "${id}" 
 
    }, { 
 
    "<>": "td", 
 
    "html": "${first_name} ${last_name}" 
 
    }, { 
 
    "<>": "td", 
 
    "html": "${gender}" 
 
    }, { 
 
    "<>": "td", 
 
    "html": "${hr}" 
 
    }, { 
 
    "<>": "td", 
 
    "html": "${temp}" 
 
    }, { 
 
    "<>": "td", 
 
    "html": "${resp}" 
 
    }, { 
 
    "<>": "td", 
 
    "class":function(){ 
 
     if(this["wandering history"] === "true")     return("atRisk"); 
 
     else return("notAtRisk"); 
 
    }, 
 
    "html": "${wandering history}" 
 
    }] 
 
};

相關問題