如何获取所选输入广播的索引

时间:2015-11-21 02:52:24

标签: javascript jquery html dom

单击按钮时,我试图获取所选输入广播的索引。所以,我使用点击功能。

$('id').click(function(){
    $('input[name="name"]').each(function(){
        if($(this).prop('checked') === 'checked'){
            ...
        }
    })
})

但我发现输入无线电的checked属性没有改变,实际上dom节点上根本没有'checked'attr。

那么,在通过$ .change()方法读取它之前,我是否必须在输入无线电上设置'checked'prop?如果没有,那么,如何获得已选择的输入无线电的索引。

感谢。

3 个答案:

答案 0 :(得分:3)



$('#btn').click(function(){
var index = $("input[name=radio]:checked").index();
$('#span').html(index)
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type='radio' name='radio'>
<input type='radio' name='radio'>
<input type='radio' name='radio'>
<input type='radio' name='radio'>
<input type='radio' name='radio'>
<input type='button' value='click' id='btn'>
<span id='span'></span>
&#13;
&#13;
&#13;

试试这个

答案 1 :(得分:1)

使用.each()函数,您可以获取每个元素的索引。

使用.is(':checked')功能,您可以检查是否已检查某些内容。

将这些混合在一起,您可以尝试这样的事情:

$("input[type=checkbox]").each(function(i,o){
    if($(this).is(":checked"))
        alert(i);
});

CHECK OUT THIS DEMO

答案 2 :(得分:0)

这应该就是你所需要的。

var index = $('input[name="name"]:checked').index();