<body>
年龄:<br/>
<input type="radio" name="age" value="1" />1<br/>
<input type="radio" name="age" value="2" />2<br/>
<input type="radio" name="age" value="3" />3<br/>
<input type="radio" name="age" value="4" />4<br/>
爱好:<br/>
<input type="radio" name="like" value="music" />唱歌<br/>
<input type="radio" name="like" value="dance" />跳舞<br/>
<input type="radio" name="like" value="paint" />画画<br/>
电脑:<br/>
<input type="radio" name="computer" value="cpu" />cpu<br/>
<input type="radio" name="computer" value="rom" />rom<br/>
<input type="radio" name="computer" value="ram" />ram<br/>
<input type="radio" name="computer" value="dvd" />dvd<br/>
<input type="radio" name="computer" value="key" />key<br/>
<button onclick="getAllRadio();">总共单选按钮的个数</button>
</body>例就是怎么获取到这里面有三组   要做成通用的函数的

解决方案 »

  1.   

    就本例而言,返回3
       function getRadioCount() {
            var i = 0;
            var temp = '';
            $("input[type='radio']").each(function () {
                var name = $(this).attr("name");
                if (temp !== name) {
                    i++;
                    temp = name;
                }
            });
            return i;
        }
      

  2.   

    jquery语法吧,如果没有学过,不是很好理解~~  $("input[type='radio']").each(function () {//取得所有radio,并进行遍历
                var name = $(this).attr("name");//给name赋值,某个radio的name
                if (temp !== name) {//通过与空比较,对i计数
                    i++;
                    temp = name;//这个好像位置不大对,应该放在each外表吧
                }
            });
            return i;
      

  3.   


    var getAllRadio=function(){
    var inputArr=document.getElementsByTagName('input');
            var radioArr=[],radioObj={};
            for(var i=0,len=inputArr.length;i<len;i++){
                  if(inputArr[i].type=='radio'){
                       if(!radioObj[inputArr[i].name]){
                            radioObj[inputArr[i].name]=true;
                            radioArr.push(inputArr[i].name);
                       }
                  }
            }
            return radioArr;
         }<input type='button' onclick="alert(getAllRadio().length);" value='总共单选按钮的个数' />
      

  4.   

    jQuery吧 比较简单
    var num=$("input[type='radio']").length;
      

  5.   

    1楼的写法是正确的.function getRadioCount() {
        var i = 0;
        var temp = '';
        $("input[type='radio']").each(function () {
            var name = $(this).attr("name");//获取 radio的name属性值,并把它赋给变量name
            if (temp !== name) {//第一次一空比较 必然+1
                i++;
                temp = name; //此处把变量name 赋给temp 是为了进行非第一此比较 第二次teap 变成了age, 
                //当第五次时name=like; temp=age 此时又加一
            }
        });
        return i;
    }