我想按照JSON字符串更改复选框。但我不知道怎么做。 这是我的JSON字符串,“1”表示已检查,“0”表示未选中
[{"Group_Product":"G04","Orange":1,"Banana":0,"Apple":1,"Candy":0,"Food":1}]
和HTML代码。
<table id=table_product>
<tr><td><input type="checkbox" class="checkbox1" id="Orange" name="check[]" />Orange</td></tr>
<tr><td><input type="checkbox" class="checkbox1" id="Banana" name="check[]" />Banana</td></tr>
<tr><td><input type="checkbox" class="checkbox1" id="Apple" name="check[]" />Apple</td></tr>
<tr><td><input type="checkbox" class="checkbox1" id="Candy" name="check[]" />Candy</td></tr>
<tr><td><input type="checkbox" class="checkbox1" id="Food" name="check[]" />Food</td></tr>
</table>
好的,我使用这种方式。我将在Object JSON中获取名称和值,然后与复选框的id进行比较并检查它。
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var obj = jQuery.parseJSON(data.d);
for (var item in obj[0]) {
if (item.valueOf > 0) {
document.getElementById(item).checked = true;
}
}
},
error: function (data) {
console.log(data.d);
}
如果您有想法或解决方案,请与我分享。
答案 0 :(得分:2)
在您的复选框中添加ID ...
success: function (data) {
var obj = jQuery.parseJSON(data.d);
$("#chkApple").prop('checked', obj[0].Apple > 0);
}
然后按如下方式检查:
$("#chkApple").prop('checked', obj[0].Apple);
或者更好的是,改变你的Json使用布尔值而不是整数,你得到......
obj[0]
请注意,我们正在使用[]
因为您的Json是具有单个对象的当前列表。你打算这么做吗?
如果没有,请从json中删除{"Group_Product":"G04","Orange":true,"Banana":false,"Apple":true,"Candy":false,"Food":true}
$("#chkApple").prop('checked', obj.Apple);
然后它变成
var obj = jQuery.parseJSON(data.d);
for (var item in obj[0]) {
document.getElementById(item).checked = obj[0][item] > 0;
}
在评论中回答你的问题......
JButtons