ListView的每一行都有一个复选框。当用户单击删除所选行 LinkButton时,仅删除已选中复选框的行。我正在考虑首先获取数组中的所有复选框,然后循环查看检查了哪一个。
这就是我的尝试。
function CheckBoxBeforeDeleteing() {
var lv = document.getElementById("MainContent_ListView1");
//var inputs = lv.childNodes;
//alert(inputs.Length);
alert("Test");
}
如果我没有注释掉2行,则该功能甚至不执行。看起来我需要更深入。 Javascript是否具有类似C#的 FindControlRecursive 的功能?
答案 0 :(得分:5)
您可以使用javascript中的循环遍历表单中的元素,如下所示。假设您的页面中有form1
runat="server"
,然后获取表单并使用循环遍历其控件并找到表单中的复选框。
var elem = document.getElementById('<%= form1.ClientID %>').elements;
function CheckBoxBeforeDeleteing()
{
for(var i = 0; i < elem.length; i++)
{
if(elem[i].id.indexOf('chkBoxId') != -1)
{
if(elem[i].checked)
{
//Your code here
}
}
}
}
访问带索引的表单
function CheckBoxBeforeDeleteing()
{
for(i=0;i<document.forms[0].length;i++)
{
e=document.forms[0].elements[i];
if (e.id.indexOf("chkBoxId") != -1 )
{
if(e.checked)
{
//Your code goes here
}
}
}
}
答案 1 :(得分:2)
是的,有。
var inputs = lv.getElementsByTagName("INPUT");