Javascript-获取单选按钮索引号

Javascript-获取单选按钮索引号,javascript,arrays,indexing,Javascript,Arrays,Indexing,**我有一个php页面,上面有这样一个选项数组。。。我需要通过javascript**获取所选选项的索引。上面我把代码的javascript是不工作的。。。任何帮助都将不胜感激 <input type="radio" name="option[1]" value="1"> <input type="radio" name="option[1]" value="2"> <input type="radio" name="option[1]" value="3">

**我有一个php页面,上面有这样一个选项数组。。。我需要通过javascript**获取所选选项的索引。上面我把代码的javascript是不工作的。。。任何帮助都将不胜感激

 <input type="radio" name="option[1]" value="1">
<input type="radio" name="option[1]" value="2">
<input type="radio" name="option[1]" value="3">
<input type="radio" name="option[1]" value="4">

<input type="radio" name="option[2]" value="1">
<input type="radio" name="option[2]" value="2">
<input type="radio" name="option[2]" value="3">
<input type="radio" name="option[2]" value="4">

<input type="radio" name="option[3]" value="1">
<input type="radio" name="option[3]" value="2">
<input type="radio" name="option[3]" value="3">
<input type="radio" name="option[3]" value="4">
...

...
有人能帮我吗? 我正在尝试类似的方法,但没有成功

   <script type="text/javascript">

    function validateForm(form) {

        for (var i = 0; i < form.elements.length; i++ ) {

            if (form.elements[i].type == 'radio') {
                if (form.elements[i].checked == true) {
                    if (form.elements[i].value  == 1 || form.elements[i].value == 6){
                        var comentario=document.getElementsByName('comentario[]'[i]);
                        var opcao = form.elements[i];
                        alert(clickedElm(opcao));
                        submitFlag = true;
                        if (comentario.value.length < 100){
                            submitFlag=false;
                            alert(i);
                        }
                        return submitFlag;
                    }

                }
            }
        }

    }
    function clickedElm(element)
    {
      var index = 0;
      for (var i = 0; document.forms[0].elements.length; i++)
      {
        if (document.forms[0].elements[i] == element)
        {
          index = i;
        }
      }
      return index;
    }
    </script>

函数validateForm(表单){
对于(var i=0;i
如果我正确理解了这个问题,可以这样解决:

$(document).on('change','input[type=radio]', function(){
   alert($(this).prop('name').charAt(7));
});

这里是fiddle

name属性用于对单选按钮进行分组,您必须使用id属性访问控件,询问是否选中了它

范例

<html>
    <head>
    </head>
    <body>
        <form id="frmTest">
            <input type="radio" name="option[1]" id="option1-item1" value="1" >
            <input type="radio" name="option[1]" id="option1-item2" value="2" >
            <input type="radio" name="option[1]" id="option1-item3" value="3" >
            <input type="radio" name="option[1]" id="option1-item4" value="4" >

            <input type="radio" name="option[2]" id="option2-item1" value="1" >
            <input type="radio" name="option[2]" id="option2-item2" value="2" >
            <input type="radio" name="option[2]" id="option2-item3" value="3" >
            <input type="radio" name="option[2]" id="option2-item4" value="4" >

            <input type="radio" name="option[3]" id="option3-item1" value="1" >
            <input type="radio" name="option[3]" id="option3-item2" value="2" >
            <input type="radio" name="option[3]" id="option3-item3" value="3" >
            <input type="radio" name="option[3]" id="option3-item4" value="4" >
        </form>

        <input type="button" onclick="validateForm(document.getElementById('frmTest'))" />

        <script type="text/javascript">

            function validateForm(form) {

                for (var i = 0; i < form.elements.length; i++ ) {

                    if (form.elements[i].type == 'radio') {
                        if (form.elements[i].checked == true) {
                            if (form.elements[i].value  == 1 || form.elements[i].value == 6){
                                var comentario=document.getElementsByName('comentario[]'[i]);
                                var opcao = form.elements[i];
                                alert(clickedElm(opcao));
                                submitFlag = true;
                                if (comentario.value.length < 100){
                                    submitFlag=false;
                                    alert(i);
                                }
                                return submitFlag;
                            }

                        }
                    }
                }

            }
            function clickedElm(element)
            {
              return element.id;
            }
        </script>
    </body>
</html>

函数validateForm(表单){
对于(var i=0;i
您忘记检查此行中的条件:
(循环输入功能单击DELM)

所以,你进入了一个无限循环

正确的行:

for (var i = 0; i < document.forms[0].elements.length; i++)
for(var i=0;i
您只想从选项名称中获取号码?
for (var i = 0; i < document.forms[0].elements.length; i++)