页面上面有几组单选按钮如下所示
<input id="radio1" type="radio" name="8" value="10"/><label>优</label>
<input id="radio2" type="radio" name="8" value="8"/><label>良</label>
<input id="radio3" type="radio" name="8" value="6"/><label>中</label>
<input id="radio4" type="radio" name="8" value="4"/><label>差</label>
<input id="radio5" type="radio" name="8" value="2"/><label>很差</label><input id="radio1" type="radio" name="7" value="10"/><label>优</label>
<input id="radio2" type="radio" name="7" value="8"/><label>良</label>
<input id="radio3" type="radio" name="7" value="6"/><label>中</label>
<input id="radio4" type="radio" name="7" value="4"/><label>差</label>
<input id="radio5" type="radio" name="7" value="2"/><label>很差</label>。。
其中每一组单选按钮的name的值是一样的,每组单选按钮的name的值是不一样的,name的值是不确定的,
怎么用JS判断用户是否选择了每组单选按钮的其中一个?

解决方案 »

  1.   

    id 应该是唯一的。。
    可以根据id判断
      

  2.   

    <input id="radio1" type="radio" name="8" value="10"/> <label>优 </label> 
    <input id="radio2" type="radio" name="8" value="8"/> <label>良 </label> 
    <input id="radio3" type="radio" name="8" value="6"/> <label>中 </label> 
    <input id="radio4" type="radio" name="8" value="4"/> <label>差 </label> 
    <input id="radio5" type="radio" name="8" value="2" checked/> <label>很差 </label> <input id="radio6" type="radio" name="7" value="10"/> <label>优 </label> 
    <input id="radio7" type="radio" name="7" value="8"/> <label>良 </label> 
    <input id="radio8" type="radio" name="7" value="6"/> <label>中 </label> 
    <input id="radio9" type="radio" name="7" value="4"/> <label>差 </label> 
    <input id="radio10" type="radio" name="7" value="2"/> <label>很差 </label> 
    <input type="button" value="asdf" onclick="alert(Test());"/>
    <script language="javascript">
    function Test()
    {
        var flag = true;
        var rname = '';
        var inps = document.getElementsByTagName('input');
        for(var i=0;i<inps.length;i++)
        {
            if(inps[i].type=='radio')
            {
                var thisname = inps[i].name;
                if(thisname != rname)
                {
                    if(!flag)
                    {
                        return flase;
                    }
                    flag = false;
                    rname = thisname;
                }
            }
            
            if(inps[i].type=='radio' && inps[i].name==rname && inps[i].checked)
            {
                flag=true;//有被选中
            }
            
            if(i==inps.length-1)
            {
                return flag;
            }
        }
    }
      

  3.   

    if(!flag)
    {
       return flase;
    这里return的是false还是flag呢?}
    flag = false;
    rname = thisname;
      

  4.   


    function   getRadioBoxValue(radioName)   
      {   
                var obj = document.getElementsByName(radioName);             
                  for(i   =   0;   i   <   obj.length;   i++)    {   
                      if(obj.checked)    {   
                              return   obj.value;   
                      }   
                  }           
                 return "undefined";         
      }   
      

  5.   

    回4楼,一样的
    回5楼,这个是可以判断的,都测过的啊<input type="button" value="asdf" onclick="Test2();"/>function Test2()
    {
    if(Test())
    {
    //都有选
    }
    else
    {
    //有没选的
    }
    }
      

  6.   


    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>未命名頁面</title>
        <script type="text/javascript">
        
        function pageLoad() 
        {    }
        function Check()
        {
            var rname,rcount = 0,inps = document.getElementsByTagName('input');
            for(var i=0;i<inps.length;i++)
            {
                if (inps[i].type == 'radio')
                {
                    if(inps[i].checked==true)
                    {
                        if(rname != inps[i].name)
                        {
                            rname = inps[i].name;
                            rcount++;
                        }
                    }
                }
            }
            if (rcount>1)
            {
                alert("每組中都至少有一個選中");
            }
            else
            {
                alert("尚未每組都至少有一個選中");
            }
        }
        
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
        </div>
        <input id="radio1" type="radio" name="8" value="10"/> <label>优 </label> 
        <input id="radio2" type="radio" name="8" value="8"/> <label>良 </label> 
        <input id="radio3" type="radio" name="8" value="6"/> <label>中 </label> 
        <input id="radio4" type="radio" name="8" value="4"/> <label>差 </label> 
        <input id="radio5" type="radio" name="8" value="2"/> <label>很差 </label>     <input id="radio6" type="radio" name="7" value="10"/> <label>优 </label> 
        <input id="radio7" type="radio" name="7" value="8"/> <label>良 </label> 
        <input id="radio8" type="radio" name="7" value="6"/> <label>中 </label> 
        <input id="radio9" type="radio" name="7" value="4"/> <label>差 </label> 
        <input id="radio10" type="radio" name="7" value="2"/> <label>很差 </label> 
        <input type="button" value="button" onclick="return Check();"/>
        </form>
    </body>
    </html>