【问题标题】:How can I find out which radio button is selected using jQuery without searching for the radio group each time?如何在不每次搜索单选组的情况下找出使用 jQuery 选择了哪个单选按钮?
【发布时间】:2011-04-03 06:47:22
【问题描述】:

我知道我可以使用这里描述的东西:How can I know which radio button is selected via jQuery?

jQuery("input[name=myradiogroup]:checked").val() 获取选中的单选按钮值。但我想缓存无线电组并确定稍后选择哪个值。

我想做这样的事情:

var myRadio = jQuery("input[name=myradiogroup]");
//some code
var value = myRadio.getCheckedButton().val();

有什么方法可以做到这一点,还是每次我想找出所选值时都必须显式运行带有:checked 的选择器?

【问题讨论】:

    标签: javascript jquery jquery-selectors radio-button


    【解决方案1】:
    var myRadio = jQuery("input[name=myradiogroup]");
    var selectedRadio = myRadio.filter(":checked");
    alert( selectedRadio.val() );
    

    【讨论】:

    • 嗯,这很奇怪......我在链接的问题中看到了这样的答案,但我无法让它工作。我会再试一次,但似乎 .find 正在搜索子元素,忽略了无线电组本身,所以我总是得到一个空结果。
    • find 只会在后代中查找,因此它将返回一个空集,因为复选框元素没有后代,并且在该空集上调用 val 将返回 undefined
    • 哎呀,应该是过滤器。这就是我同时回答和吃饭的结果。修改了代码。
    【解决方案2】:

    可以

    myRadio.filter(':checked').val()
    

    【讨论】:

      【解决方案3】:
      myValue="";
      $('input[name=myradiogroup]').change(function() {
           myValue= this.value;
          alert(myValue);
      });
      

      现在您可以随时查看“myValue”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-12
        • 2016-06-15
        • 1970-01-01
        • 2013-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-29
        相关资源
        最近更新 更多