【问题标题】:Checking for any combination of more than one checkbox检查多个复选框的任意组合
【发布时间】:2015-04-17 21:18:45
【问题描述】:

我有三个复选框,需要弄清楚这些复选框的组合是被选中的。我正在考虑做这样的事情,但为所有其他可能的组合添加一个else if

$("#cbOne, #cbTwo, #cbThree").click(function () {
    if ($("#cbOne").is(":checked") == true && $("#cbTwo").is(":checked") == false && $("#cbThree").is(":checked") == false) {
        // do something;
});

不幸的是,我无法让它工作。有什么建议吗?

【问题讨论】:

  • a) 你可以在 JSFiddle 上展示真实的例子
  • b) 请出示您的 html 标记。
  • 取决于您希望对哪些复选框进行检查或不检查。你应该解释它本身的问题
  • $("#cbOne, #cbTwo, #cbThree").filter(':checked') 怎么样? Fiddle.
  • 您真的需要了解选中复选框的组合吗?我的意思是,很多时候,您可以单独处理它们——例如,您检查了cbOnecbThree。你检查第一个是否被选中,做一些动作,检查第二个是否被选中,第三个也是如此。你能把这个应用到你的问题上吗?

标签: jquery checkbox


【解决方案1】:

可能它不起作用,因为您在 if(...) 语句的 //do something 之后错过了闭合花括号 }。 所以,正确的代码是

$("#cbOne, #cbTwo, #cbThree").click(function() {
    if ($("#cbOne").is(":checked") == true && $("#cbTwo").is(":checked") == false && $("#cbThree").is(":checked") == false) {
        // do something;
    }//!!! Add this bracket
});

【讨论】:

  • 虽然这是真的,但我认为 OP 的相关问题是如何为选定复选框的所有组合实现此逻辑。
猜你喜欢
  • 1970-01-01
  • 2014-07-27
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-23
  • 1970-01-01
相关资源
最近更新 更多