这是我的复选框组
<input type="checkbox" name="checkGroup" id="all" value="0" >All
<input type="checkbox" name="checkGroup" id="one" value="1">One
<input type="checkbox" name="checkGroup" id="two" value="2">Two
<input type="checkbox" name="checkGroup" id="three" value="3">three
如何通过名称“checkGroup”获取复选框数组,然后根据值设置选中/取消选中。
e.g。 在编辑模式下,我从数据库中获取字符串012 然后我需要设置为All,One amd Two。
请帮助谢谢
答案 0 :(得分:1)
// Help us with finding values in arrays
Array.prototype.has=function(v){
for (i=0; i<this.length; i++) {
if (this[i]==v) return true;
}
return false;
}
// Define our values
var myVals = [0,1,2];
// Check/Uncheck Accordingly
$(":checkbox[name='checkGroup']").each(function(){
if (myVals.has($(this).val())) {
$(this).attr("checked","checked");
} else {
$(this).removeAttr("checked");
}
});
答案 1 :(得分:1)
如果你采用这种方法,返回一串未被任何字符分隔的数字(如“012”),你只能处理多达10个元素(0-9)的问题:
function checkItems(str) {
var checkboxes = $("input:checkbox[name='checkGroup']");
checkboxes.attr('checked', false); // uncheck all boxes first
checkboxes.each(function () {
if (str.indexOf(this.value) >=0) {
this.checked = true;
}
});
}
checkItems('012'); // checks all, one, and two
查看示例here。