TreeView无刷新获取text及value实现代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<style type="text/css">
#middle{ top:0; left:0;background-color:#fff; position:absolute; z-index:2; filter:alpha(opacity=60); display:none;}
#showTree{ width:300px; height:200px; position:fixed; z-index:2; display:none; border:1px solid red;}
</style>
<script type="text/javascript">
function ShowDIv() {
var txt = document.getElementById("txt");
txt.blur();
var divmid = document.getElementById("middle");
divmid.style.display = "block";
divmid.style.width = "100%";
divmid.style.height = "100%";
var divshow = document.getElementById("showTree");
divshow.style.display = "block";
divshow.style.left = txt.offsetLeft;
divshow.style.top = txt.offsetTop;
return false;
}
function CloseDiv() {
var divmid = document.getElementById("middle");
divmid.style.display = "none";
var divshow = document.getElementById("showTree");
divshow.style.display = "none";
return false;
}
function TreeViewClick() {
if (event.srcElement.innerText == "" || event.srcElement.length <= 0 || event.srcElement.nameProp == undefined) {
return true;
}
var id = event.srcElement.id;
var a = document.getElementById(id);
var href = a.href;
var index = href.indexOf("#");
var retstr = href.substr(index + 1);
//
var ret = a.innerText;
if (ret != "") {
document.getElementById("txt").value = ret;
document.getElementById("TextBox2").value = retstr;
document.getElementById("HiddenField1").value = retstr;
}
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="显示value" onclick="Button1_Click" />
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
Text:<asp:TextBox ID="txt" runat="server" onfocus="return ShowDIv()"></asp:TextBox>
<br />
Value:
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</div>
<div id="middle"></div>
<div id="showTree">
<br />
<br />
<input type="button" value="close" onclick="return CloseDiv()" />
<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode Text="A" Value="0" NavigateUrl="#0">
<asp:TreeNode Text="A1" Value="00" NavigateUrl="#00">
<asp:TreeNode Text="A11" Value="000" NavigateUrl="#000"></asp:TreeNode>
<asp:TreeNode Text="A12" Value="001" NavigateUrl="#001"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="A2" Value="01" NavigateUrl="#01"></asp:TreeNode>
<asp:TreeNode Text="A3" Value="02" NavigateUrl="#02"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="B" Value="1" NavigateUrl="#1">
<asp:TreeNode Text="B1" Value="10" NavigateUrl="#10"></asp:TreeNode>
<asp:TreeNode Text="B2" Value="11" NavigateUrl="#11"></asp:TreeNode>
<asp:TreeNode Text="B3" Value="12" NavigateUrl="#12"></asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView>
</div>
</form>
</body>
</html>
public partial class newpage_Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.TreeView1.Attributes.Add("onclick", "return TreeViewClick()");//增加特性,实现无自动回传
}
protected void Button1_Click(object sender, EventArgs e)
{
this.TextBox1.Text = this.HiddenField1.Value;
}
}