【问题标题】:How to loop through a radio buttons group without a form?如何在没有表单的情况下循环单选按钮组?
【发布时间】:2011-03-29 05:41:45
【问题描述】:

如何在 JavaScript 或 jQuery 中循环遍历没有表单的单选按钮组?

【问题讨论】:

    标签: javascript jquery html radio-button


    【解决方案1】:

    我不太确定你的意思,但如果你想对页面上的所有单选按钮做某事,你可以这样做:

    $("input:radio").each(function(){
       //do something here
    });
    

    【讨论】:

    • 选择器“radio”不会返回任何内容。 HTML 中没有称为“radio”的元素(标签)。它是
    • $(':radio') 等价于 $('[type=radio]')。 api.jquery.com/radio-selector
    • @Dumb Guy:我认为@Topera 指的是以前的编辑,它已由@Razor Storm 修复
    • @Daniel & Dumb Guy,是的,我之前犯了一个错误,并在意识到之后纠正了它。
    【解决方案2】:

    这样的事情呢? (使用 jQuery):

    $('input:radio').each(function() {
      if($(this).is(':checked')) {
        // You have a checked radio button here...
      } 
      else {
        // Or an unchecked one here...
      }
    });
    

    如果您愿意,您也可以像这样遍历所有选中的单选按钮:

    $('input:radio:checked').each(function() {
       // Iterate through all checked radio buttons
    });
    

    【讨论】:

      【解决方案3】:

      ...如果有人想在没有 jQuery 的情况下执行此操作(因为这是问题的一部分):

      我不确定您所说的没有表格是什么意思。如果你的意思是你不想pass the form element to a javascript function,你可以这样做:

      for (var i = 0; i < document.form_name.radio_name.length; i++) {
          if (document.form_name.radio_name[i].checked) {
              // ...
          }
      }
      

      如果您的意思是没有表单,因为您没有表单节点,您可以将它们包装在跨度(或 div)中并使用如下代码:

      var span = document.getElementById("span_id");
      var inputs = span.getElementsByTagName("input");
      for (var i = 0; i < inputs.length; ++i) {
          if (inputs[i].checked) {
              // ...
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2014-01-30
        • 2016-08-29
        • 2013-03-14
        • 2020-07-28
        • 2019-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-10
        相关资源
        最近更新 更多