<input type="checkbox" id="bh" value="a">
<input type="checkbox" id="bh" value="b">
<input type="checkbox" id="bh" value="c">
<input type="button" value="btn1" value="取值" onclick="getval();">
<input type="button" value="btn1" value="取值" onclick="putval('aa','bb','cc');">请问如何用Jquery来获取(getval)这个三控件的值,和分别给这三个控件赋值(putval:参数为要赋的值)?请教高手getval、putval这两个函数应该怎样写?

解决方案 »

  1.   

    通过属性选择器,而不是idfunction getval(){
      var v=$('input[id="bh"]:checked').map(function(){return this.value}).get().join(',');
      alert(v)
    }
    function putval(){
      var arg=arguments;
      $('input[id="bh"]').each(function(idx,el){
        this.value=arg[idx]
      });
    }
      

  2.   

    如果这个是楼主自己搞出来的, 纯粹是找抽了。 id本身的定义就是唯一, 你搞得这么乱, 不是自找不快?此外, checkbox 一般要给定name, 如果你不给定, 则获取困难, 意义也不大——因为它们往往是定义一组数据。此外, 取值, 取什么值, 取所有的?取选中的?当然, 实在要弄也搞得出来。<html>
    <head>
        <title>测试form</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
        <script type="text/javascript">
            function getval(){
                var arr = [];
                $("#div1 :checkbox").each(function(){
                    arr.push(this.value);
                });
                alert("所有checkbox的值分别为:"+arr.join(","));
            }
            
            function putval(va,vb,vc){
                var arr = [va,vb,vc];
                $("#div1 :checkbox").each(function(index){
                    if(index>2)
                        return false;
                    $(this).val(arr[index]);
                });
            }
        </script>
    </head>
    <body>
    <div id="div1" >
        <input type="checkbox" id="bh" value="a">
        <input type="checkbox" id="bh" value="b">
        <input type="checkbox" id="bh" value="c">
        <input type="button" value="btn1" value="取值" onclick="getval();">
        <input type="button" value="btn1" value="取值" onclick="putval('aa','bb','cc');">
    </div>
    </body>
    </html>
      

  3.   

    再问一下,为什么把Checkbox改成Select就无法赋值了呢?
    <select id="bh"><option value="a">aaaa</option><option value="b">bbbb</option></select>
    <select id="bh"><option value="c">cccc</option><option value="d">dddd</option></select>
    <input type="button" value="btn" onclick="putval('b','d');">
    <script>
    function putval(arg1,arg2){
    var arr=[arg1,arg2]    
    $('input[id="bh"]').each(function(idx){     
    $(this).val(arr[idx]);   
    }); 
    }
    </script>
    我想当点击btn后,两个select分别选中b和d不知道为什么这样写不行,如果不是select控件,是其它的text,checkbox等都可以。
      

  4.   

    应该用select而非input 选择器