当页面中有多个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;
}

 

代码如下:

<FORM method="post" action="checkTest.php"> 
<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 

简单的很多事情在做之前觉得复杂但做起来就很容易了,像这个复选框代码就是这样了。 
*/ 
?> 

posted on 2014-08-23 20:38  阳光下的小草  阅读(846)  评论(0)    收藏  举报

导航