怎么获取html里面有多少组单选按钮

<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>

例就是怎么获取到这里面有三组 要做成通用的函数的
lvsexingqing -
  • hawlAleld - 2个月前

    //第一次与空比较 必然+1

  • ggxxed - 2个月前

    引用 3 楼 yeyuhongchch 的回复:

    jquery语法吧,如果没有学过,不是很好理解~~

    $("input[type='radio']").each(function () {//取得所有radio,并进行遍历
    var name = $(this).attr("name");//给name赋值,某个radio的name
    if (temp !== name) {//通过与空……

    1楼的写法是正确的.
    HTML code

    
    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;
    }
    
    

  • Erhdused - 2个月前

    引用 3 楼 yeyuhongchch 的回复:

    jquery语法吧,如果没有学过,不是很好理解~~

    $("input[type='radio']").each(function () {//取得所有radio,并进行遍历
    var name = $(this).attr("name");//给name赋值,某个radio的name
    if (temp !== name) {//通过与空……

    老表你的解释是错的

  • WaseastomeWer - 2个月前

    你这个显示的不是组吧,而是单选按钮的个数 引用 5 楼 liujiebest 的回复:
    jQuery吧 比较简单
    var num=$("input[type='radio']").length;

  • zawazig - 2个月前

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

  • jupiter - 2个月前

    JScript code

    
    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;
         }
    
    
    

    HTML code
    
    <input type='button' onclick="alert(getAllRadio().length);" value='总共单选按钮的个数' />
    
    

  • NedCireelew - 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;

  • INlindsey - 2个月前

    能解释一下吗?我没看懂

  • DypeAppopay - 2个月前

    就本例而言,返回3
    JScript code

       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;
        }