【发布时间】:2013-07-03 06:48:42
【问题描述】:
我有这两个复选框:
<form action="">
<input id="bikeCheckbox" type="checkbox" name="bikeCheckbox" value="Bike">I have a bike<br>
<input id="carCheckbox" type="checkbox" name="carCheckbox" value="Car">I have a car
</form>
每个复选框的事件:
jQuery(function () {
$("#carCheckbox").click(function () {
if($("#carCheckbox").is(":checked")) {
alert("it works");
}
})
});
jQuery(function () {
$("#carCheckbox").click(function () {
if($("#bikeCheckbox").is(":checked")) {
alert("it works");
}
})
});
现在我想做的是创建一个for 或某种循环来为多个复选框创建事件处理程序。到目前为止,我被困在这段代码中:
jQuery(function () {
var infoArray = ["car", "bike"];
for(var i = 0; i < infoArray.length; i++) {
var id = "#" + infoArray[i] + "Checkbox";
$(id).click(function () {
var myCheckbox = "#" + infoArray[i] + "Checkbox;
if($(myCheckbox).is(":checked")) {
alert("it works");
}
})
}
});
非常感谢任何帮助。
【问题讨论】:
-
使用这个堆栈溢出问题stackoverflow.com/questions/11945802/…
-
它们是否需要分别为每个函数?因为如果每个复选框都调用相同的函数,那么您就过于复杂了。你能更详细地解释一下你想要什么吗?
-
我实际上在代码中有 35 个复选框,我正在寻找一种方法来减少重复代码的数量。这种想法有缺陷吗?
-
这完全取决于您要做什么:每次都是相同的功能,还是不同的功能?
标签: javascript jquery