当页面中有多个CheckBox的时候,它是一个数组,而单个的时候,它就是一个对象。
首先了解下CheckBox(多选框):
当页面中有多个CheckBox的时候,它是一个数组,而单个的时候,它就是一个对象。
可以直接用
document.getElementsByName("checkbox的name");
var obj=document.getElementsByName("checkboxname");
for(var i=0;i< obj.length;i++){
alert(obj );
alert(obj .checked);
}
多个的时候,是对象数组,
单个的时候,是一个对象,不是数组,用.length就不行了,上面的方法当它一个或多个时都可以正常使用。
取checkbox有多少被选中
objcheckbox = document.getElementsByName("groupid");
for(var i=0;i<objcheckbox.length;i++){
if(objcheckbox.checked){
strid = objcheckbox.value;
flag++;
}
}
if(flag!=1){
alert("不允许多选或不选!");
}else{
if(confirm("修改栏目,是否继续?")){
document.optionform.ids.value=strid;
document.optionform.action = "group!add.do";
document.optionform.submit();
}
}
--------------------------------------------------------------------------------js获取已选中的checkbox所在行的其他列的值
//通过table的id获取已选中checkbox的当前行第n列的值,并组合成字符串返回
function getTDText1(tableId, chkName, n) {
var rows = $(tableId).rows;
var objs = document.getElementsByName(chkName);
var temp = "";
for (var i = 0; i < objs.length; i++) {
if (objs.checked) {
var r = objs.parentElement.parentElement.rowIndex;
if (temp == "") {
temp = rows.cells[n].innerText; } else {
temp += "," + rows.cells[n].innerText; }
}
}
return temp;
}
//通过已选中checkbox的id获取当前行第n列的值,并组合成字符串返回
function getTDText2(chkId, n) {
var temp = "";
var ids = chkId.split(",");
for (var i = 0; i < ids.length; i++) {
var tr = $(ids).parentElement.parentElement;
if (temp == "") {
temp = tr.cells[n].innerText;
} else {
temp += "," + tr.cells[n].innerText;
}
}
return temp;
}
代码如下:
<INPUT name="test[]" type="checkbox" value="1" />
<INPUT type="checkbox" name="test[]" value="2" />
<INPUT type="checkbox" name="test[]" value="3" />
<INPUT type="checkbox" name="test[]" value="4" />
<INPUT type="checkbox" name="test[]" value="5" />
<INPUT type="submit" name="Submit" value="Submit" />
</FORM>
注意上面input的name属性,各个属性内容都一样,而且都是test[],加上[]的原因在于让test的内容变成数组形式传递。
checkTest.php的代码内容如下:
代码如下:
<?php
echo implode(",",$_POST['test']);
?>
我们输出内容时只需要注意利用implode函数将数组内容转化为字符串即可。
注:该功能可在删除多记录等场合运用。如Delete from tbl where ID in (implode(",",$_POST['test']))即可。
实例代码:
代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
html复选框如果要以数据组形式发送给php脚本处理就必须以如checkbox[]这形式
<form id="form1" name="form1" method="post" action="">
<label>
<input type="checkbox" name="checkbox[]" value="1" />
</label>
<label>
<input type="checkbox" name="checkbox[]" value="2" />
</label>
<label>
<input type="checkbox" name="checkbox[]" value="www.jb51.net" />
</label>
<label>
<input type="checkbox" name="checkbox[]" value="jb51.net" />
</label>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
</form>
</body>
</html>
<?
//判断是否点击提交
if( $_POST )
{
$array = $_POST['checkbox'];
print_r($array);
}
/*
结果:
Array
(
[0] => 1
[1] => 2
[2] => www.jb51.net
[3] => jb51.net
)
简单的很多事情在做之前觉得复杂但做起来就很容易了,像这个复选框代码就是这样了。
*/
?>
浙公网安备 33010602011771号