javascript - jQuery ui 两个复选框,选中需要按钮激活,未选中禁用

标签 javascript jquery html jquery-ui checkbox

Visit my fiddle first

我在这里使用 jQuery-ui 按钮集。当两个 check-boxes 都被选中时,我想要什么,我需要激活按钮并删除Class disabledButton,当没有选中(两个)时,我希望按钮被禁用并且添加类disabledButton。我怎样才能做到这一点?

这是我的 jQuery 方法:

$(".conditionCheck").buttonset();    
$(".conditions").click(function () {    
  if ($(".conditions").is(':checked')) {   
    $(".paymentButton").removeAttr("disabled")
      .removeClass("disabledButton");   
  }    
  if (!$(".conditions").is(':checked')) {   
    $(".paymentButton").attr("disabled")
      .addClass("disabledButton");    
  } 
});

最佳答案

使用$('.conditions').not(':checked').length获取未选中控件的数量。如果这个数字是 0,那么两者都已被检查,所以您知道该怎么做。

$(".conditions").click(function () {
  if ($('.conditions').not(':checked').length) {
    $(".paymentButton").prop("disabled", true).addClass("disabledButton");
  }
  else {
    $(".paymentButton").prop("disabled", false).removeClass("disabledButton");
  }
});

我还更改了 incorrect use of attr使用 prop 禁用元素,这是正确的方法。

上面的代码还可以写得更简洁为

var allChecked = $('.conditions').not(':checked').length == 0;
$(".paymentButton").prop("disabled", !allChecked)
                   .toggleClass("disabledButton", !allChecked);

关于javascript - jQuery ui 两个复选框,选中需要按钮激活,未选中禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20372419/

相关文章:

javascript - jQuery MarginLeft 百分比

javascript - 在 2 个按钮上的类中交换 Javascript 函数

html - 菜单在顶部和底部悬停和填充

javascript - 我应该对仅具有函数的对象使用不变性吗?

javascript - 视频无法在 Html 中自动播放

javascript - 如何使用 Flexigrid 将页面重置为 1

php - 有没有办法遍历一组已发布的变量,检查它们是否已设置?

javascript - 谷歌浏览器或 firebug 开发者工具用于查找工作 javascript

javascript - 提交包含动态 ID 的 HTML 表单

javascript - Chrome 无法识别我的登录表单