我有这个 json 对象:
[{"id_distrib":"1"},{"id_distrib":"44"},{"id_distrib":"4"}]
我想检查这些复选框:
<input id="1" class="cb_distrib_linux" type="checkbox" value="1">
Achlinux
<input id="2" class="cb_distrib_linux" type="checkbox" value="2">
Aurox
<input id="3" class="cb_distrib_linux" type="checkbox" value="3">
BackTrack
...
CenOS
...
我这样做:
success: function(listes_distrib)
{
for(var distrib in listes_distrib)
{
$('#all_distrib_linux input:checkbox[value='+listes_distrib[distrib]+']').attr('checked', true);
}
},
我的所有复选框都已选中。
listes_distrib[distrib] 的警报给了我“[”而不是 ID。
提前感谢您的帮助。
最佳答案
你可以这样做:
$('#all_distrib_linux input:checkbox[value=' + listes_distrib[distrib].id_distrib +']').prop('checked', true);
您必须使用以下方法从 json 对象获取值:
listes_distrib[0].id_distrib // return 1
listes_distrib[1].id_distrib // return 44
listes_distrib[2].id_distrib // return 4
此外,请使用 .prop()
而不是 .prop() API Documentation
中提到的 .attr()
:
Before jQuery 1.6, the
.attr()
method sometimes took property values into account when retrieving some attributes, which could cause inconsistent behavior. As of jQuery 1.6, the.prop()
method provides a way to explicitly retrieve property values, while.attr()
retrieves attributes.
关于javascript - 检查 json 对象中是否存在复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19829986/