<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这两个函数应该怎样写?
------最佳解决方案--------------------
通过属性选择器,而不是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]
});
}
------其他解决方案--------------------
如果这个是楼主自己搞出来的, 纯粹是找抽了。
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');">