【发布时间】:2019-02-05 04:46:42
【问题描述】:
我正在实现一个基于 JSON 数据的表。并且 Json 数据也有复选框的“真”“假”值。所以我想根据“true”或“false”值将复选框标记为选中或未选中。
当我使用 prop 或 is 时,它会给出“prop is undefined and is undefined”。
var data = {
"managment":
{
"Notice":{
"Red color" :{"delete":true,"enable":true,"view":true} ,
"Yellow color":{"delete":true,"enable":true,"view":true},
"Specail color":" checkoxes"
},
"Black Notice":{"black":" Checkboxes"}
},
"Faculty":
{
"salary":{"list":" checkboxes"},
},
};
var zoneHtml = '';
for (var zoneKey in data) {
zoneHtml += '<div class="zone">';
zoneHtml += ('<h1>' + zoneKey + '</h1>');
var jsonData = data[zoneKey];
for (var listUI in jsonData) {
zoneHtml += '<div class="jsonData">';
zoneHtml += ('<h2>' + listUI + '</h2>');
var ports = jsonData[listUI];
zoneHtml += '<ul class="port">';
for (var port in ports) {
if (typeof ports[port] === 'object') {
zoneHtml += '<li>' + port + ':';
zoneHtml += '<ul>'
for (var i in ports[port]) {
zoneHtml += '<li class="checkBoxProp"><input type="checkbox" id="'+i+'">' + JSON.parse(ports[port][i]) + '</li>';
$('#'+i+'').is('checked', JSON.parse(ports[port][i]));
}
zoneHtml += '</ul></li>';
} else {
zoneHtml += ('<li>' + port + ':' + ports[port] + '</li>');
}
}
zoneHtml += '</ul>';
zoneHtml += '</div>';
}
zoneHtml += ('</div>');
}
$("#zone").html(zoneHtml);
.jsonData{
margin-left:5%;
}
li
{
display:inline;
}
.checkBoxProp{
margin-left:4%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<div id="zone"></div>
http://jsfiddle.net/varunPes/0n9fmawb/44/
我想在复选框中输入“真”或“假”值。
【问题讨论】:
-
我已经更新了你的小提琴jsfiddle.net/0n9fmawb/66
标签: javascript jquery html css