关于jquery处理重复ID的问题

freejanker 2012-12-07 09:10:37
<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这两个函数应该怎样写?
...全文
605 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2013-03-20
  • 打赏
  • 举报
回复
应该用select而非input 选择器
freejanker 2012-12-07
  • 打赏
  • 举报
回复
再问一下,为什么把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等都可以。
freejanker 2012-12-07
  • 打赏
  • 举报
回复
谢谢两位了,后台限制了,实在没办法,才搞了这个重复ID的问题出来。
吉普赛的歌 2012-12-07
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
通过属性选择器,而不是idJavaScript code?12345678910function getval(){ var v=$('input[id="bh"]:checked').map(function(){return this.value}).get().join(','); alert(v)}function putval(){ var arg=arg……
版主厉害呀!
吉普赛的歌 2012-12-07
  • 打赏
  • 举报
回复
如果这个是楼主自己搞出来的, 纯粹是找抽了。 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>
Go 旅城通票 2012-12-07
  • 打赏
  • 举报
回复
通过属性选择器,而不是id
function 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]
  });
}

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧