js中checkbox長度為undefinde如何解決以及取checkbox有多少被選中
阿新 • • 發佈:2019-02-10
當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<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;
}
首先了解下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;
}