我的复选框组几乎等于100,所有复选框都名称为checkbox1 ... checkbox1oo。我以位格式从数据库中获取字符串。现在我需要根据字符串的每个位置使用for循环检查复选框。
举个例子。字符串是10010.这意味着我必须选择复选框1st和4th。怎么可能。
for (i=1;i<=5;i++)
{
check every position of sting==1
than document.formname.checkbox[i]==checked.
}
我希望做那样的事情。
答案 0 :(得分:1)
for( var i = 0, l = string.length ; i < l ; i++ ) {
if( string.charAt(i) === "1" ) {
document.forms[formname]['checkbox' + i].checked = true;
}
}
其中string
是数据库中的字符串,formname
是您正在操作的表单的ID
答案 1 :(得分:0)
获取所有标签,循环,获取复选框,构建字符串。
var elements = document.getElementsByTagName('input');
var str = "010101";
for(var i = 0; i< elements.length; i++) {
if (elements[i].type == "checkbox") {
var index = +(elements[i].name.match(/\d+/g)[0]); // get index
elements[i].checked = !!(+str.charAt(index -1));
}
}
!!(+str.charAt(index -1))
可能很容易:
str.charAt(index -1) === "1"