我正在编写一个脚本,它将获得一个id的JSON数组。根据结果,然后我遍历页面上的所有复选框,并检查JSON数组中id存在的方框。
复选框名称如此name =“name [id]”id =“name [id]”
如何循环复选框并确定JSON数组中是否存在id([和]之间)?
答案 0 :(得分:1)
Patrick是正确的,在属性中使用[
和]
是无效的。假设您的HTML看起来像这样:
<input type="checkbox" name="name1" /><br/>
<input type="checkbox" name="name2" /><br/>
<input type="checkbox" name="name3" /><br/>
<input type="checkbox" name="name4" /><br/>
您可以使用Attribute Ends With Selector:
var ids = new Array();
ids[0] = 1;
ids[1] = 3;
$.each(ids, function(index, value) {
$("input[name$='name" + value + "']").attr("checked", "checked");
});
答案 1 :(得分:0)
在HTML4 ID属性中使用[
和]
无效。
也就是说,您可以执行.filter()
检查数组中每个项目的ID:
var array; //holds the Array from the JSON
$(':checkbox').filter(function() {
var id = this.id.slice( this.id.indexOf('[') + 1, -1 );
return $.inArray( id, array ) > -1;
})
.attr('checked','checked');