从收音机组中select一个具有值的收音机

为什么我在这方面挣扎?

我有一个价值:5

如何检查组“mygroup”组的单选button值为5?

$("input[name=mygroup]").val(5); // doesn't work? 

在属性select器的帮助下,您可以select具有相应值的input元素。 那么你必须明确地使用.attr来设置属性:

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

既然jQuery 1.6,你也可以使用带有布尔值的.prop方法(这应该是首选的方法):

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

请记住,您首先需要从一个单选button组下的任意单选button中删除选中的属性,然后才能将选中的属性/属性添加到该单选button组中的某个单选button。

代码从一个单选button组的所有单选button中删除选中属性 –

 $('[name="radioSelectionName"]').removeAttr('checked'); 

检查收音机和checkbox有一个更好的方法; 您必须将值的数组传递给val方法而不是原始值

 $("input[name=mygroup]").val([5]); 

这里是jQuery文档,它解释了它是如何工作的: http : //api.jquery.com/val/#val-value

.val([...])也适用于<select> <input type="checkbox"><input type="radio"><option>等表单元素。

具有与数组中的一个元素匹配的值的input和选项将被检查或select,而具有与该数组的元素之一不匹配的值的选项和选项将被取消选中或取消选中

小提琴演示这个工作: https : //jsfiddle.net/92nekvp3/

尝试这个:

 $('input:radio[name="mygroup"][value="5"]').attr('checked',true); 

JS小提琴演示 。

 $("input[name='mygroup'][value='5']").attr("checked", true); 

当你像上面提到的那样改变属性值时, change事件不会被触发,所以如果出于某些原因需要,你可以像这样触发它

 $('input[name=video_radio][value="' + r.data.video_radio + '"]') .prop('checked', true) .trigger('change'); 

或者你可以只写价值属性:

 $(':radio[value=<yourvalue>]').attr('checked',true); 

这对我有用。

 var key = "Name_radio"; var val = "value_radio"; var rdo = $('*[name="' + key + '"]'); if (rdo.attr('type') == "radio") { $.each(rdo, function (keyT, valT){ if ((valT.value == $.trim(val)) && ($.trim(val) != '') && ($.trim(val) != null)) { $('*[name="' + key + '"][value="' + (val) + '"]').prop('checked', true); } }) }