【问题标题】:Radio buttons not checked in jQuery未在 jQuery 中选中的单选按钮
【发布时间】:2010-09-27 04:54:25
【问题描述】:

我有这行代码用于页面加载:

if ($("input").is(':checked')) {

当单选按钮输入被选中时它工作正常。但是,我想要相反的结果。类似于

if ($("input").not(.is(':checked'))) {

以便我的 if 语句在没有选择任何单选按钮时运行。解决此问题的最佳方法是什么?

【问题讨论】:

    标签: jquery


    【解决方案1】:
    if ( ! $("input").is(':checked') )
    

    没有用?

    您也可以尝试像这样迭代元素:

    var iz_checked = true;
    $('input').each(function(){
       iz_checked = iz_checked && $(this).is(':checked');
    });
    if ( ! iz_checked )
    

    【讨论】:

    • 您也可以按这组单选按钮共享的名称属性过滤该列表。
    • if ( !($("input").is(':checked')) ) 我也会添加额外的括号以使其更好。
    【解决方案2】:
    if ($("input").is(":not(:checked)"))
    

    AFAIK,这应该可以工作,针对最新的稳定 jQuery (1.2.6) 进行测试。

    【讨论】:

      【解决方案3】:

      如果我的萤火虫探查器工作正常(并且我知道如何使用它),那么:

      $('#communitymode').attr('checked')
      

      $('#communitymode').is('checked')
      

      你可以在这个页面上试试:)

      然后你可以像这样使用它

      if($('#communitymode').attr('checked')===true) { 
      // do something
      }
      

      【讨论】:

        【解决方案4】:
        $("input").is(":not(':checked')"))
        

        这是 jquery 1.3,注意 ' 和 " 符号!

        【讨论】:

          【解决方案5】:
          $('input:radio[checked=false]');
          

          这也行

          input:radio:not(:checked)
          

          :radio:not(:checked)
          

          【讨论】:

          • 这肯定会奏效。我花了一段时间才弄清楚。这是您无需编写任何代码即可获得的最优雅。
          • 作为选择器也非常适合我。
          【解决方案6】:
          (!$('#radio').is(':checked'))
          

          这对我有用

          【讨论】:

            【解决方案7】:

            这也有效。它似乎是最短的工作符号: !$('#selector:checked')

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2017-10-18
              • 2012-06-05
              • 1970-01-01
              • 2019-10-04
              • 2023-04-09
              • 2013-01-28
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多