您好我正在尝试创建一堆复选框,而不必创建当前的每个复选框:
function test(obj) {
if (document.getElementByID("info").checked == true) {
document.getElementById("gender")[0].disabled = true;
}
}
它适用于一个复选框,但我一直在尝试使用以下代码:
function test(obj) {
var x = obj.name;
var rowCount = $('#List tr').length;
for (var i = 0; i rowCount-1; i++) {
if (x == document.getElementByID("info"["+i+"]).checked == true) {
document.getElementById("gender"["+i+"]).disabled = true;
}
}
}
创建尽可能多的复选框,而不必制作每个复选框,但它似乎不起作用。
答案 0 :(得分:3)
好的,让我们从头开始:
要在javascript中创建一个复选框,您必须执行以下操作:
var checkbox = document.createElement("input");
checkbox.type = "checkbox";
然后,要将您的复选框添加到网页上的div中,您可以执行以下操作:
document.getElementById("your_div_id").appendChild(checkbox);
然后,为了查看是否选中了复选框,您可以查看“已检查”属性,如下所示:
var isChecked = !!document.getElementById("your_checkbox").checked;
if(isChecked == true){
// Do whatever you want
}
这是一个循环遍历一堆复选框的函数
function testCheckBoxes(container_id){
var checkboxes = document.querySelector("#" + container_id + " > input[type='checkbox']");
for(var i = 0; i < checkboxes.length; i++){
if(!!checkboxes[i].checked == true){
// Your code
}
}
[旁注:我使用document.querySelector
来保持一致性但是因为我认为你正在使用jquery然后使用$
代替]
如果您想在有人点击您的复选框时执行某些操作,请使用事件监听器:
var list = document.getElementsByClassName("checkbox");
for(var i = 0; i < list.length; i++){
list[i].addEventListener('click', function(event){
if(!!event.target.checked == true){
// Do something
}
}, true);
}
希望这足以让你入门。祝你好运=)