怎么获取form中所有选中的checkbox?我的checkbox是根据数据库中的查询结果来生成的,不知道有多少个,名字也
怎么获取form中所有选中的checkbox?
我的checkbox是根据数据库中的查询结果来生成的,不知道有多少个,名字也不太固定,javascript中有没有方法得到form中所有选中的checkbox的name呀?
[解决办法]
jquery
$(':checked').each(function() {
var name = $(this).attr('name')
});
[解决办法]
<script type="text/javascript">
function init(){
var c=0;
var a=document.forms[0];
var b=a.getElementsByTagName("input");
for(var i=0;i<b.length;i++){
if(b[i].type=="checkbox"){
c+=1;
}
}
alert(c);
}
window.onload=init;
</script>
</head>
<body>
<form>
<input type="checkbox">1<br/>
<input type="checkbox">1<br/>
<input type="checkbox">1<br/>
<input type="checkbox">1<br/>
</form>
</body>
这样试试
[解决办法]
用过js实现看看
[解决办法]
jquery
- JScript code
$("input[type=checkbox]:checked").each(function() { var name = $(this).attr('name')});
[解决办法]
- JScript code
<html><head> <script src="ec/jquery/jquery-1.6.4.min.js" type="text/javascript"></script> <script type="text/javascript"> function test() { var $chks = $("#myform :checkbox:checked"); //得到指定form中 所有选中的checkbox, 并给一个变量 var nameArr = []; $chks.each(function () { if ($.inArray($(this).attr("name"), nameArr) == -1) { //inArray这个方法, 在低版本的jquery可能没有, 建议你用高版本的. nameArr.push($(this).attr("name")); //如果数组中没有此名字, 才加入数组 } }); alert(nameArr); //输出: "A,B" } </script></head><body><form id="myform" > <ul> <li>name为A: <input type="checkbox" name="A" checked="checked" value="A1" />A1 <input type="checkbox" name="A" value="A2" />A2 <input type="checkbox" name="A" checked="checked" value="A3" />A3 </li> <li>name为B: <input type="checkbox" name="B" checked="checked" value="B1" />B1 <input type="checkbox" name="B" checked="checked" value="B2" />B2 <input type="checkbox" name="B" value="B3" />B3 </li> <li>name为C: <input type="checkbox" name="C" value="C1" />C1 <input type="checkbox" name="C" value="C2" />C2 <input type="checkbox" name="C" value="C3" />C3 </li> </ul> <input type="button" value="得到form中, 所有选中的checkbox的name" onclick="test()" /></form></body></html>
[解决办法]
- HTML code
<script type="text/javascript">function foo(){ var arr=new Array(); var inputs=document.getElementsByTagName("input"); var o={}; for(var i=0;i<inputs.length;i++){ var input=inputs[i]; if(input.type=="checkbox" && input.checked==true){ if(o[input.name]===undefined){ o[input.name] = 1; arr.push(input.name); } } } alert("选中的name有:"+arr); } window.onload=foo;</script><form><input type="checkbox" name="t1"><input type="checkbox" name="t1" checked><input type="checkbox" name="t1" checked><p>第二批</p><input type="checkbox" name="t2" checked><input type="checkbox" name="t2"><input type="checkbox" name="t3" checked><input type="checkbox" name="t3"><p>第三批</p><input type="checkbox" name="t4"><input type="checkbox" name="t5" checked></form>
