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