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();