所以我想禁用输入按钮功能,除非选中复选框。我不想要一个特定的复选框,但如果选中一个复选框或多个复选框,将启用按钮,这是一个删除按钮。我遇到的问题是删除按钮仅在选中第一个复选框时启用。例如,检查第二个或第三个复选框是否仍然禁用删除按钮,除非同时选中第一个复选框。
有办法解决这个问题吗?
按钮:
<input type="submit" id="del_event" name="del_event" value="Delete Event"/>
复选框回显这是编码:
echo
"<tr>
<td><input type='checkbox' name='check' id='check'/><a href='' class='event-link'>$name</a>
</td><td>$date</td><td>$time</td><td>$venue</td>
</tr>";
我正在使用的脚本是:
var chkbox = $("#check"),
button = $("#del_event");
button.attr("disabled","disabled");
chkbox.change(function(){
if(this.checked){
button.removeAttr("disabled");
}else{
button.attr("disabled","disabled");
}
});
感谢任何帮助。
答案 0 :(得分:2)
更改复选框生成的代码,如下所示:
echo
"<tr>
<td><input type='checkbox' name='check' class='check'/><a href='' class='event-link'>$name</a>
</td><td>$date</td><td>$time</td><td>$venue</td>
</tr>";
因为您想要为每个复选框触发此事件 你需要在复选框中使用class而不是id。 在jquery:
var chkbox = $(".check");
button = $("#del_event");
button.attr("disabled","disabled");
chkbox.change(function(){
if(this.checked){
button.removeAttr("disabled");
}else{
button.attr("disabled","disabled");
}
});