【100分】如何给asp:TreeView控件里的CheckBox的Value赋值,让前台JS可以取到
【100分】怎么给asp:TreeView控件里的CheckBox的Value赋值,让前台JS可以取到?
如题,页面里有个TreeView控件,其中给每个节点都进行了赋值
TreeNode tempnode = new TreeNode();
tempnode.ShowCheckBox = true;
tempnode.Text = IS.Cate_Name;
tempnode.Expanded = false;
tempnode.Value = IS.Cate_ID;
我在前台:
function checkvalue() {
{
var tree = document.getElementById("treeIS");
var inputs = tree.getElementsByTagName("INPUT");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox" && inputs[i].checked) {
alert(inputs[i].text + " " + inputs[i].value);
}
}
}
}
但是在前台可以找到选中的CheckBox,但是没有给value赋值,只有:<input type="checkbox" name="treeISn1CheckBox" id="treeISn1CheckBox" />
因此我用JS就无法取到,谁有什么好办法????
------解决方案--------------------
如题,页面里有个TreeView控件,其中给每个节点都进行了赋值
TreeNode tempnode = new TreeNode();
tempnode.ShowCheckBox = true;
tempnode.Text = IS.Cate_Name;
tempnode.Expanded = false;
tempnode.Value = IS.Cate_ID;
我在前台:
function checkvalue() {
{
var tree = document.getElementById("treeIS");
var inputs = tree.getElementsByTagName("INPUT");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox" && inputs[i].checked) {
alert(inputs[i].text + " " + inputs[i].value);
}
}
}
}
但是在前台可以找到选中的CheckBox,但是没有给value赋值,只有:<input type="checkbox" name="treeISn1CheckBox" id="treeISn1CheckBox" />
因此我用JS就无法取到,谁有什么好办法????
------解决方案--------------------
- HTML code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TreeViewSample.aspx.cs" Inherits="WebApp.TreeViewSample" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>treeview父子节点联动</title> <script type="text/javascript"> function OnTreeNodeChecked(evt) { var objNode = evt.srcElement ? evt.srcElement : evt.target; if (objNode.checked == true) { alert(getHideValue(objNode)); setParentChecked(objNode); var objID = objNode.getAttribute("ID"); var objID = objID.substring(0, objID.indexOf("CheckBox")); var objParentDiv = document.getElementById(objID + "Nodes"); if (objParentDiv != null && objParentDiv != "undefined") { setChildChecked(objParentDiv); } } else { var objID = objNode.getAttribute("ID"); var objID = objID.substring(0, objID.indexOf("CheckBox")); var objParentDiv = document.getElementById(objID + "Nodes"); if (objParentDiv != null && objParentDiv != "undefined") { setChildUnChecked(objParentDiv); } } if (objNode.tagName && objNode.tagName != "INPUT") { if (objNode.tagName == "IMG") { return true; } else { if (window.event) { window.event.returnValue = false; return false; } else { evt.preventDefault(); evt.stopPropagation(); } } } } function public_GetParentByTagName(element, tagName) { var parent = element.parentNode; var upperTagName = tagName.toUpperCase(); while (parent && (parent.tagName.toUpperCase() != upperTagName)) { parent = parent.parentNode ? parent.parentNode : parent.parentElement; } return parent; } function setParentChecked(objNode) { var objParentDiv = public_GetParentByTagName(objNode, "div"); if (objParentDiv == null || objParentDiv == "undefined") { return; } var objID = objParentDiv.getAttribute("ID"); objID = objID.substring(0, objID.indexOf("Nodes")); objID = objID + "CheckBox"; var objParentCheckBox = document.getElementById(objID); if (objParentCheckBox == null || objParentCheckBox == "undefined") { return; } if (objParentCheckBox.tagName != "INPUT" && objParentCheckBox.type == "checkbox") return; objParentCheckBox.checked = true; setParentChecked(objParentCheckBox); } function setChildUnChecked(divID) { var objchild = divID.children; var count = objchild.length; for (var i = 0; i < objchild.length; i++) { var tempObj = objchild[i]; if (tempObj.tagName == "INPUT" && tempObj.type == "checkbox") { tempObj.checked = false; } setChildUnChecked(tempObj); } } function setChildChecked(divID) { var objchild = divID.children; var count = objchild.length; for (var i = 0; i < objchild.length; i++) { var tempObj = objchild[i]; if (tempObj.tagName == "INPUT" && tempObj.type == "checkbox") { tempObj.checked = true; } setChildChecked(tempObj); } } function getHideValue(node) { var objchild = public_GetParentByTagName(node, "td").getElementsByTagName("input"); for (var i = 0; i < objchild.length; i++) { var tempObj = objchild[i]; if (tempObj.tagName == "INPUT" && tempObj.type == "hidden") { alert(tempObj.value); } } } </script> </head> <body> <form id="form1" runat="server"> <div> </div> <asp:TreeView ID="TreeView1" runat="server"> </asp:TreeView> </form> </body> </html>