如何使用其值选择单选按钮

时间:2011-06-23 06:47:56

标签: jquery html

在我的代码中,我使用了一组具有相同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;

但它不起作用

2 个答案:

答案 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