我正在尝试设置一个单选按钮。我想通过使用值或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,我需要设置正确的。
答案 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');