javascript - 根据具有不同 ID 的多个选中复选框的数量启用/禁用按钮

标签 javascript jquery asp.net gridview

我在这样的表格中有一个复选框列表以及一个按钮:-

<table id="mytable">
<tr><th>checked</th><th>id</th><th>text</th></tr>
<tr><td><input id="cb1" type="checkbox" name="checker1"/></td><td>123</td><td>abc</td></tr>
<tr><td><input id="cb2" type="checkbox" name="checker2"/></td><td>456</td><td>def</td></tr>
<tr><td><input id="cb3" type="checkbox" name="checker3"/></td><td>789</td><td>ghi</td></tr>
<tr><td><input id="cb4" type="checkbox" name="checker4"/></td><td>454</td><td>ghi</td></tr>
<tr><td><input id="cb5" type="checkbox" name="checker5"/></td><td>565</td><td>ghi</td></tr>
</table>

<input type="button" name="myjqbutton" value="My Jquery Button" id="jqb" disabled="true"/>

我想做的是,只有在选中 1 个或多个复选框时才启用按钮。

最初的想法是我需要计算表格中选中的复选框的数量,我可以使用 .each 将它们计入一个变量。

var mytable= document.getElementById('mytable');
$('input:checkbox:checked', mytable).each(function() {
// whatever here
});

但是,每个复选框都需要一个更改事件来检查计数并根据计数是否 > 0 启用或禁用按钮。

或者是否有更简单的方法来实现我正在寻找的这个功能。

最佳答案

你可以做

$('#mytable input:checkbox').change(function(){
  $("#jqb").prop("disabled", $('#mytable input:checkbox:checked').length ===0);
}); 

关于javascript - 根据具有不同 ID 的多个选中复选框的数量启用/禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9717099/

相关文章:

javascript - 从 webView 中删除元素

javascript - 异步AJAX按顺序调用

Javascript - 在句子中反转单词

javascript - 逻辑更改 url get 到 post 方法 jquery

jquery - 与 asp.net 表单一起使用的最佳工具提示?

javascript - Angularjs。杰森普。发送数据

javascript - jQuery .find() 选择正确的元素但不显示它

jquery - CSS 变量不适用于多个 SVG 渐变

asp.net - 使用 LDAP 的 Active Directory 成员资格提供程序

asp.net - 如何在 Visual Studio 2015 中更改网站 URL