【问题标题】:How to change the value of radio buttons using Javascript/Jquery如何使用 Javascript/Jquery 更改单选按钮的值
【发布时间】:2016-07-28 14:24:27
【问题描述】:

假设我有这个收音机:

<form name="myForm">
  <input type="radio" name="foo" value="1"> 1
  <input type="radio" name="foo" value="2"> 2
</form>

我正在寻找一种方法来做这样的事情:

document.myForm.foo.value = "2";

为了动态选择第二个单选按钮。或者使用 jquery 执行以下操作的方法。

【问题讨论】:

  • 第二个单选按钮的值不是已经是2了吗??
  • 那么,您是要选择值为 2 的单选,还是要将第二个单选按钮的值更改为 2?你的问题有点不清楚。

标签: javascript jquery radio-button


【解决方案1】:

jQuery 选择器:

$('input[value="2"][name="foo"]')

【讨论】:

  • 如果我有超过 1 个收音机或输入怎么办?
  • 如果我有不止一套收音机的值都为 2 怎么办?例如&lt;input name = foo value = 2 /&gt; and &lt;input name = bar value = 2 /&gt; 我只想选择 foo 一个
  • @ClickUpvote:根据请求更新答案以匹配两个选择器。
【解决方案2】:

使用这个:

$('[name="foo"]').val(2); 

【讨论】:

    【解决方案3】:

    你在寻找类似$(':radio[name=foo]:eq(1)')的东西

    DEMO

    【讨论】:

      【解决方案4】:

      如果您在 jQuery 集合中按名称获取所有收音机,则可以使用 eq() 按索引选择。

      $('input[name="foo"]').eq(1) // 2nd input
      

      【讨论】:

        【解决方案5】:

        既然你这样要求,你可以这样做:

        document.myForm.foo[1].checked = true; //selects the 2nd radio button

        这是一个例子:http://jsfiddle.net/bTzqw/

        【讨论】:

          【解决方案6】:
          document.getElementsByName('foo')[1].check();//Or .checked = true
          

          【讨论】:

          • 不起作用,因为如果我想移动收音机选项怎么办?
          • 如果你想要解决这个问题的东西,它应该是你原始问题的一部分。
          • 这只是一个快速示例,表明您可以按他的名字选择它。因此,更好的解决方案是保持相同的名称但设置不同的 id,例如 option1 和 option2
          猜你喜欢
          • 1970-01-01
          • 2015-08-20
          • 2012-11-01
          • 1970-01-01
          • 2021-07-09
          • 2012-04-12
          • 1970-01-01
          • 2011-05-30
          • 1970-01-01
          相关资源
          最近更新 更多