【问题标题】:checking if a checkbox is checked? [duplicate]检查是否选中了复选框? [复制]
【发布时间】:2013-10-28 01:06:33
【问题描述】:

如何通过 jQuery 检查复选框是否被选中?

我可以只为元素添加一个 ID 或类并执行此操作吗?

if($('#element').val() == 1) { 
  //do stuff 
}

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:
    if($('#element').is(':checked')){
    
        //checkbox is checked
    
    }
    

    if($('#element:checked').length > 0){
    
        //checkbox is checked
    
    }
    

    或在 jQuery 1.6+ 中:

    if($('#element:checked').prop('checked') === true){
    
        //checkbox is checked
    
    }
    

    【讨论】:

      【解决方案2】:

      这取决于您尝试执行此操作的位置。通常你可以这样做:

      $('#element').is(':checked');
      

      $('#element')[0].checked;
      

       $('#element').prop('checked'); 
      

      或更早版本的不支持prop的jquery(

       $('#element').attr('checked') //will return boolean value
      

      如果它在复选框的上下文中,如果在 change 事件中,您可以这样做:

        this.checked
      

      【讨论】:

      • @user2864740 看不到之前的评论和声明。为了您的证明测试它针对旧版本的 jquery
      • @user2864740 抱歉,真的很困。 :P 不管怎样,是的,在 jQuery .prop() 所以 .attr() 确实检索了 DOM 属性。
      • 还有旧版本的 jq 不支持用来弥补设置独立属性的属性。
      • @user2864740 给你一个 1.5 版 jsfiddle.net/tgY2Y
      【解决方案3】:

      使用元素的 id 或 class 是做这一切的好方法,但由于我们使用的是 jQuery,你可能会使用他们的 API,这里是解决方案:

      $('input[type="checkbox"]').is(':checked') {
        // do the stuff here..
      }
      

      您也可以使用#element 代替input[type="checkbox"]'

      这样就可以知道复选框被选中了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-09
        • 1970-01-01
        • 2017-02-22
        • 2014-09-14
        • 2018-03-27
        • 2012-07-13
        • 2016-04-22
        相关资源
        最近更新 更多