在javascript或jquery中按名称获取单选框

时间:2013-11-26 07:27:33

标签: javascript php jquery html

我正在开发一个应用程序,因为我需要在java脚本或jquery中按名称检查值。 我的HTML代码是

 <input type="radio" name="type1" value="Manual"  /> Manual<br/>
 <input type="radio" name="type1" value="Auto"  /> Auto

我的javascript代码是

var aqi_type = (document.getElementsByName('type'+id).value)
alert(aqi_type);

http://i.stack.imgur.com/PUZwS.png

当我检查收音机盒时,我得到的值是未定义的。

告诉我。

5 个答案:

答案 0 :(得分:1)

您可以使用Attribute Equals Selector [name="value"]

$('input[type="radio"][name="type1"]:checked').val()

DEMO

$('input[type="radio"][name="type1"]').change(function () {
    if($(this).is(":checked"))
        alert($(this).val())
})

DEMO With change event

修改

根据评论,您可以使用

var ids = 1;
$('input[type="radio"][name="type' + ids + '"]:checked').val()

答案 1 :(得分:0)

if($('input[name="type1"]').prop('checked',true)){
  alert($(this).text());
}

答案 2 :(得分:0)

<input type="radio" name="type1" value="Manual" id="radio1"  /> Manual<br/>

尝试,

if (document.getElementById('radio1').checked) {
  aqi_type = document.getElementById('radio1').value;
}

这适用于IE8及更高版本以及所有其他浏览器,

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

JQuery样式:

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

答案 3 :(得分:0)

您可以使用类属性(如class =“type1”)代替getElementsByName。所以html将是:

<input type="radio" class="type1" value="Manual"  /> Manual<br/>
<input type="radio" class="type1" value="Auto"  /> Auto

和jquery:

var values = '';
for(var i = 0; i < $('.type1').length; i++){
   values += $('.type1').eq(i).val() + '|';
}
alert(values);

请试试这个!

答案 4 :(得分:0)

这将处理所有单选按钮,无论名称如何。

 $("input:radio").change("click", function () {
        if($(this).is(":checked"))
            alert($(this).val())
    })

您可以使用以下行,这些行将获得以type:

开头的所有单选按钮
$('input[type="radio"][name*="type"]').change(function () {
    if($(this).is(":checked"))
        alert($(this).val())
})