Javascript 窗体禁用提交按钮,直到选中其子复选框
我有一个表单,里面有多个选择框。 我想禁用submit按钮,直到选中一个checbox 下面的解决方案对我来说比较有效:Javascript 窗体禁用提交按钮,直到选中其子复选框,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个表单,里面有多个选择框。 我想禁用submit按钮,直到选中一个checbox 下面的解决方案对我来说比较有效: $(document).on('click', '#my_ids', function() { if($(this).prop('checked') == false){ $('.btn').prop('disabled', true); } else { $('.btn').prop('disabled', false); } }); 但是
$(document).on('click', '#my_ids', function() {
if($(this).prop('checked') == false){
$('.btn').prop('disabled', true);
}
else {
$('.btn').prop('disabled', false);
}
});
但是,我想给表单一个“id”,在选中表单中的一个复选框之前,我想禁用submit按钮。不太清楚如何有效地到达那里
以下是我表格的要点:
<form accept-charset="UTF-8" id= 'my-form' action="/path" class="form-stacked" method="post">
<table>
<thead>
<tr>
<th><label title="Select All/None"><input id="" name="" type="checkbox" value=
"1" /></label></th>
</tr>
</thead>
<tbody>
<tr>
<td><label><input id="my_ids_" name="my_ids[]" type="checkbox" value=
"123" /></label></td>
<td>
<a href="/path">William</a>
</td
</tr>
<tr>
<td><label><input id="my_ids_" name="my_ids[]" type="checkbox" value=
"25" /></label></td>
</tr>
</tbody>
<button class="btn" disabled="disabled" type=
"submit">Assign
</button>
</table>
</form>
为您的表单提供一个ID
。例如:id=“myform”
并使用input[type=checkbox]
,如果您想从该表单获取所有复选框。否则,也为该复选框指定一个ID
试试这个:
$('.btn').prop('disabled', true);
$('#myform input:checkbox').change(function () {
var a = $('#myform input:checked').filter(":checked").length;
if (a == 0) {
$('.btn').prop('disabled', true);
} else {
$('.btn').prop('disabled', false);
}
});
您也可以使用HTML
,而不是使用JQuery将按钮设置为页面加载时禁用:
disabled="disabled"
试试这个:
$('.btn').prop('disabled', true);
$('#myform input:checkbox').change(function () {
var a = $('#myform input:checked').filter(":checked").length;
if (a == 0) {
$('.btn').prop('disabled', true);
} else {
$('.btn').prop('disabled', false);
}
});
JS:
给出你想要检查的表单,类“singleCheckboxForm”
谢谢@ImbondBbaby。但是,如果页面中有多个带有复选框的表单,并且我只希望该表单具有这种行为,那么这就行不通了。我没有想到将表单id与change函数相关联。谢谢您也可以使用:复选框
速记,而不是输入[type='checkbox']
更新。。。非常感谢。上述解决方案存在一个小问题。如果有2个复选框,我选中2,然后取消选中1。按钮再次被禁用。