如果至少选中了两个复选框,如何启用提交按钮
How to enable submit button if at least two checkboxes are checked?
在这里找到的答案的帮助下,我尝试禁用提交按钮并在点击它时发送警报消息,直到至少有2个复选框被选中。
我做错了什么?
var selected = $('#frmCompare :checkbox:checked').length;
function verifCompare() {
if (selected >= 2) {
//good
$('#frmCompare').submit();
} else {
//bad
alert('Veuillez selectionner au moins 2 produits à comparer...');
return false
}
}
$(document).ready(function () {
$('#btnCompare').attr('disabled', 'disabled');
$('#frmCompare :checkbox').change(function () {
//alert(selected);
if (selected >= 2) {
$('#btnCompare').attr('enabled');
}
});
});
此时,只有警告消息有效。
小提琴
编辑:添加小提琴
HTML中没有enabled
属性
$('#btnCompare').prop('disabled', selected < 2);
你还需要重新计算selected
在每个change
的值,你不能只是去与它被设置为页面加载
在第一次解析脚本时初始化选中复选框的计数。计数以后不会重新计算。这条线:
var selected = $('#frmCompare :checkbox:checked').length;
应该在验证函数内,而不是在验证函数外。
您应该将代码更改为
$('#frmCompare :checkbox').change(function(){
//update selected variable
selected = $('#frmCompare :checkbox:checked').length
if (selected >= 2) {
$('#btnCompare').attr('enabled');
}
});
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 如何在 API 调用后和 if 语句中启用提交按钮
- 语义ui如何使用javascript启用或禁用下拉列表
- IE6在启用/禁用文本字段上闪烁
- 传单中如何在更改基层时启用/禁用覆盖层
- 根据字段的值启用按钮
- 如何使用javascript函数在gridview中按行启用/禁用复选框
- 如何禁用和启用css规则
- 淘汰赛.JS'启用'长度绑定条件不起作用
- 如何动态检测Mozilla/Chrome上是否启用SSO
- 旋转木马;启用内容安全策略时无法工作
- 动态启用/禁用来自控制器的输入文本
- 如何启用单选按钮
- 检查浏览器'在asp.net的后端代码中启用或禁用了s JS
- jQuery根据用户选择启用/禁用asp.net控件
- 当我的所有 Ng-from 都有效时启用一个按钮
- 在Golang回调函数中启用CORS
- 启用具有多个布尔可观察标志的绑定
- 选择框已禁用或由其他选择框的某个选项启用
- 如何在tinymce编辑器中启用字体系列和颜色选项