jQuery设置单选button

我正在设置一个单选button。 我想通过使用值或ID来设置它。

这是我试过的。

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

newcol是单选button的ID。

也许一点编辑是为了。

有两套收音机,一套有一排,另一套有排。 所以我看到没有使用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被删除,我需要设置正确的。

您的select器查找input:radio[name=cols]的后代input:radio[name=cols]具有newcol (以及该variables的值)的元素。

试试这个(因为无论如何都是通过ID来select的):

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

这里是一个演示: http : //jsfiddle.net/jasper/n8CdM/1/

而且,从jQuery 1.6开始,更改属性的方法是.prop() : http : .prop()

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

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

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

在你的select器中,你似乎试图用一个给定的id来获取你单选button的嵌套元素。 如果你想检查一个单选button,你应该select这个单选button而不是别的:

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

这假设你在你的标记中有下面的单选button:

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

如果您的单选button有一个ID:

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

你可以直接使用一个idselect器:

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

你可以尝试下面的代码:

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

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

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

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

尝试这个:

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

我遇到了attr("checked", true) ,所以我倾向于使用上面的代替。

另外,如果你有ID,那么你不需要其他的东西来select。 一个ID是唯一的。

由于newcol是单选button的ID,您可以简单地使用它如下。

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

使用.filter()也可以工作,并且对于id,value,name很灵活:

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

(在这个博客上看到)

你可以简单地使用:

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

所选的答案在这种情况下起作用。

但问题是要find基于radiogroup和dynamicid的元素,答案也可以保持显示的单选button不受影响。

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

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