当checkbox的内容为一项时,用javascript获取它长度时为undefined的解决办法,非常简单 如下:
首先了解下
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
if(objcheckbox
.checked){
strid = objcheckbox.value;
flag++;
}
}
if(flag!=1){
alert("不允许多选或不选!");
}else{
if(confirm("修改栏目,是否继续?")){
document.optionform.ids.value=strid;
document.optionform.action = "group!www.gsm-guard.net";
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;
}