jQuery设置单选按钮

时间:2012-03-01 22:22:53

标签: jquery radio-button

我正在尝试设置一个单选按钮。我想通过使用值或id来设置它。

这就是我尝试过的。

$('input:radio[name=cols]'+" #"+newcol).attr('checked',true);

newcol是单选按钮的ID。

可能需要进行一些编辑。

有两组收音机盒,一组带有cols,另一组带有行。所以我看到了不使用id的观点。我的错。所以我举个例子:

<input type="radio" name="rows" class="listOfCols" 
   style="width: 50%; " value="Site"></input>

<input type="radio" name="cols" class="listOfCols" 
   style="width: 50%; "  value="Site"></input>

删除了ID,我需要设置正确的。

13 个答案:

答案 0 :(得分:185)

您的选择器会查找id为input:radio[name=cols]的{​​{1}}元素的后代(以及该变量的值)。

尝试这样做(因为你无论如何都是通过ID选择):

newcol

以下是演示:http://jsfiddle.net/jasper/n8CdM/1/

此外,从jQuery 1.6开始,改变属性的特定方法是$('#' + newcol).prop('checked',true); http://api.jquery.com/prop

答案 1 :(得分:72)

我在这里找到答案:
https://web.archive.org/web/20160421163524/http://vijayt.com/Post/Set-RadioButton-value-using-jQuery

基本上,如果你想检查一个单选按钮,你必须将值作为数组传递:

$('input:radio[name=cols]').val(['Site']);
$('input:radio[name=rows]').val(['Site']);

答案 2 :(得分:15)

在你的选择器中,你似乎试图用给定的id获取你的单选按钮的一些嵌套元素。如果要检查单选按钮,则应在选择器中选择此单选按钮,而不是其他内容:

$('input:radio[name="cols"]').attr('checked', 'checked');

这假设您的标记中有以下单选按钮:

<input type="radio" name="cols" value="1" />

如果你的单选按钮有一个id:

<input type="radio" name="cols" value="1" id="myradio" />

你可以直接使用id选择器:

$('#myradio').attr('checked', 'checked');

答案 3 :(得分:10)

您可以尝试以下代码:

$("input[name=cols][value=" + value + "]").attr('checked', 'checked');

这将设置为指定的无线电列和值检查的属性。

答案 4 :(得分:8)

为什么需要'input:radio[name=cols]'。不知道你的HTML,但假设id是唯一的,你可以简单地做到这一点。

$('#'+newcol).prop('checked', true);

答案 5 :(得分:6)

试试这个:

$("#" + newcol).attr("checked", "checked");

我遇到attr("checked", true)的问题,所以我倾向于使用上面的内容。

此外,如果您有ID,那么您不需要其他选择。 ID是唯一的。

答案 6 :(得分:2)

由于newcol是单选按钮的ID,您只需按以下方式使用它即可。

$("#"+newcol).attr('checked',true);

答案 7 :(得分:2)

使用.filter()也有效,并且对于id,value,name:

是灵活的

$('input[name="cols"]').filter("[value='Site']").attr('checked', true);

(见this blog

答案 8 :(得分:0)

您可以简单地使用:

$("input[name='cols']").click();

答案 9 :(得分:0)

选择的答案适用于这种情况。

但问题是关于基于radiogroup和动态id找到元素,答案也可以使显示的单选按钮不受影响。

这一行确实选择了在屏幕上显示更改时所要求的内容。

$('input:radio[name=cols][id='+ newcol +']').click();

答案 10 :(得分:0)

就我而言,单选按钮值是从数据库中获取的,然后设置为表单。以下代码对我有用。

$("input[name=name_of_radio_button_fields][value=" + saved_value_comes_from_database + "]").prop('checked', true);

答案 11 :(得分:0)

$('#a_state option[value="'+a_state+'"]').prop("selected", true);

prop() 是最好的选择,因为 attr 有时会随机工作。

答案 12 :(得分:0)

就我而言,我使用(单击收音机时激活 CSS 动画)

$('input:radio[name="cols"]').trigger ('click');