我为公司和员工创建了一系列复选框。我喜欢在选择公司时,所有用户都会被检查。我的问题是条件 - 每当我点击代码运行的复选框,无论是否检查。显然,当复选框被选中时,id才会像sun一样,而不是在取消选中时。我认为“this”指的是设置了“onClick”事件的复选框。谢谢。
function checkCompAll(comp) {
// if the the company checkbox is selected...
if (this.checked=true){
// query all inputs and select only check boxes with the name "userlogrestrict" and this companies id number in them. Return an array
// named "checkboxes"
var thiscompusers = "userlogrestrict_"+comp;
var checkboxes = new Array();
var elems = document.newlog.elements;
var len = elems.length;
for ( var i = 0; i < len; i++ ) {
if (elems[i].type === 'checkbox') {
var thischeckbox = elems[i].name.split("_");
if ((thischeckbox[0] == "userlogrestrict")&&(thischeckbox[1] == comp)){
checkboxes.push(elems[i]);
}
}
}
console.log(checkboxes);
} // end the if
}
感谢您的帮助。是的,= vs ==是一个问题,并将复选框指定为true。另一个问题是我不知道函数是否清楚“this”是什么。我在函数调用中添加了“this” - 它告诉函数复选框的名称是什么 - 现在它可以正常工作。谢谢你的帮助。
答案 0 :(得分:0)
在if条件下,您使用=
代替==
=是赋值运算符,仅用于赋值
if (this.checked==true){
一旦你解决了它将会起作用