小弟最近困扰这个问题。在网上找了篇很好的文章。正好可以解决问题现在转发一下。网址是这个:
http://www.cnblogs.com/SoulStore/archive/2008/07/09/1239126.html
通用版本(不依赖任何类库) function GetCheckBoxListValue(objID) ... { var v = new Array(); var CheckBoxList = document.getElementById(objID); if (CheckBoxList.tagName == "TABLE") ... { for (i=0;i<CheckBoxList.rows.length;i++) for (j=0;j<CheckBoxList.rows[i].cells.length;j++) if (CheckBoxList.rows[i].cells[j].childNodes[0]) if (CheckBoxList.rows[i].cells[j].childNodes[0].checked== true ) v.push(CheckBoxList.rows[i].cells[j].childNodes[1].innerText); } if (CheckBoxList.tagName == "SPAN") ... { for (i=0;i<CheckBoxList.childNodes.length;i++) if (CheckBoxList.childNodes[i].tagName == "INPUT") if (CheckBoxList.childNodes[i].checked== true ) ... { i++; v.push(CheckBoxList.childNodes[i].innerText); } } return v; } Asp.net Ajax 版本(依赖 Asp.net Ajax 类库支持) function GetCheckBoxListValue(objID) ... { var v = new Array(); var CheckBoxList = $get(objID); if (CheckBoxList.tagName == "TABLE") ... { for (i=0;i<CheckBoxList.rows.length;i++) for (j=0;j<CheckBoxList.rows[i].cells.length;j++) if (CheckBoxList.rows[i].cells[j].childNodes[0]) if (CheckBoxList.rows[i].cells[j].childNodes[0].checked== true ) Array.add(v,CheckBoxList.rows[i].cells[j].childNodes[1].innerText); } if (CheckBoxList.tagName == "SPAN") ... { for (i=0;i<CheckBoxList.childNodes.length;i++) if (CheckBoxList.childNodes[i].tagName == "INPUT") if (CheckBoxList.childNodes[i].checked== true ) ... { i++; Array.add(v,CheckBoxList.childNodes[i].innerText); } } return v; }
我尝试过。的确可以在不使用postback的情况下,在客户端获取checkbox的选中值。
