在我的代码中,我使用了一组具有相同ID和所有单选按钮名称的单选按钮..但它的值不同......
我有想要选择的单选按钮的值。如何使用我拥有的值选择该单选按钮。 考虑一个例子..
<input name="newColorCode" id="newColorCode" type="radio" value="color_code_LightViolet"/>
<input name="newColorCode" id="newColorCode" type="radio" value="color_code_red"/>
<input name="newColorCode" id="newColorCode" type="radio" value="color_code_green"/>
我有值color_code_green ..如何使用jquery ????
选择相应的单选按钮?我试过这个
$('input:radio[value=color_code_green]').checked=true;
但它不起作用
答案 0 :(得分:6)
首先,ID在整个DOM中必须是唯一的。因此,使用id="newColorCode"
的3个无线电是错误的。首先,删除这些id属性或为每个按钮提供唯一的属性。然后回答你的问题:
$(':radio[value="color_code_green"]').attr('checked', 'checked');
这是一个live demo。
您的代码不起作用的原因是因为$(..)
函数返回一个jQuery包装的DOM元素数组,您尝试设置的checked
属性根本就没有定义。因此,您可以使用.attr()
函数对选择器返回的所有元素执行此操作。
答案 1 :(得分:2)
您也可以在JavaScript中执行此操作:
function getSelectedRadio(buttonGroup) {
// returns the array number of the selected radio button or -1 if no button is selected
if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
for (var i=0; i<buttonGroup.length; i++) {
if (buttonGroup[i].checked) {
return i
}
}
} else {
if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
}
// if we get to this point, no radio button is selected
return -1;
} // Ends the "getSelectedRadio" function
function getSelectedRadioValue(buttonGroup) {
// returns the value of the selected radio button or "" if no button is selected
var i = getSelectedRadio(buttonGroup);
if (i == -1) {
return "";
} else {
if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
return buttonGroup[i].value;
} else { // The button group is just the one button, and it is checked
return buttonGroup.value;
}
}
} // Ends the "getSelectedRadioValue" function