小弟最近困扰这个问题。在网上找了篇很好的文章。正好可以解决问题现在转发一下。网址是这个:
http://www.cnblogs.com/SoulStore/archive/2008/07/09/1239126.html
用JavaScript获取Asp.net服务器端控件CheckBoxList的选中值数组
通用版本(不依赖任何类库)
我尝试过。的确可以在不使用postback的情况下,在客户端获取checkbox的选中值。
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;
}