如何从表单输入类型=无线电获取价值?

时间:2011-12-29 09:50:56

标签: javascript html radio-button

<input type="radio" value="0" name="type" checked="yes" />
<label>Type 0</label>
<input type="radio" value="1" name="type" />
<label>Type 1</label>

和js:

var type = this.type.value;
alert(type);

如何解决?

4 个答案:

答案 0 :(得分:5)

JS代码在什么上下文中运行?如果this是相关的单选按钮,则this.value将返回值。

如果您的问题是“如何获取'类型'组中当前所选单选按钮的值?”那么你可能需要做这样的事情:

function getCheckedRadioValue(radioGroupName) {
   var rads = document.getElementsByName(radioGroupName),
       i;
   for (i=0; i < rads.length; i++)
      if (rads[i].checked)
          return rads[i].value;
   return null; // or undefined, or your preferred default for none checked
}

var checkedValue = getCheckedRadioValue("type");

(使用.querySelector().querySelectorAll()会更容易,但并非所有浏览器都支持它们。)

答案 1 :(得分:1)

只需使用this.value代替this.type.value

this.value将选择与输入的value属性关联的值。 (那是满口的)。

答案 2 :(得分:1)

只需使用选择器。

使用jquery

$("input[name=type]:checked").val();

或者没有jquery:

document.querySelector("input[name=type]:checked").value;

答案 3 :(得分:-1)

使用jQuery你可以这样做

   $(function() {
        $(".rad").click(
        function() {
             alert(this.value);
        });
    });

请参阅此JSFiddle