我想要获取asp.net asp:treeview 这个控件被选中的节点的值,要用js获取。 
我有一个<input type='button' onclick='selectdata()'>
function selectdata()
{
//获取asp:treeview选中节点的值
}

解决方案 »

  1.   

    给你个笨但简单的办法treeview有选中的事件,选中的时候赋值给一个隐藏域剩下的不用我说了吧
      

  2.   

    这是很久之前做过的一个例子,把节点的值保存在ToolTip,点击节点时获取这个值.aspx
    <!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></title>
        <script language="javascript" type="text/javascript">
            function init1() {
                var getAllNodes = "";
                var tree = document.getElementById("treeView1").getElementsByTagName("Input");
                for (var i = 0; i < tree.length; i++) {
                    if (tree[i].type == "checkbox" && tree[i].checked) {
        if (tree[i].getAttribute("title", 2) != ""){                   
                           getAllNodes = getAllNodes + tree[i].nextSibling.innerHTML + ";";
                        }
                    }
                }
                alert(getAllNodes);//所有选中节点的值
            }
        </script></head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TreeView ID="treeView1" runat="server" EnableClientScript="False" ShowExpandCollapse="False"
                OnClick="init1(this)">
            </asp:TreeView>
        </div>
        </form>
    </body>
    </html>
    .aspx.cs
     protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataTable dt = GetDataTable();
                DataRow[] rows = dt.Select();
                foreach (DataRow row in rows)
                {
                    TreeNode nd = new TreeNode();
                    nd.Text = row["name"].ToString();
                    nd.Value = row["id"].ToString();
                    nd.ToolTip = row["id"].ToString();
                    nd.ShowCheckBox = true;                
                    treeView1.Nodes.Add(nd);
                }
            }
        }    DataTable GetDataTable()
        {
            System.Data.DataTable dt = new System.Data.DataTable();
            System.Data.DataRow dr;
            dt.Columns.Add(new System.Data.DataColumn("id", typeof(System.Int32)));
            dt.Columns.Add(new System.Data.DataColumn("name", typeof(System.String)));        dr = dt.NewRow();
            dr[0] = 1;
            dr[1] = "广东";
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = 2;
            dr[1] = "广西";
            dt.Rows.Add(dr);   
            return dt;
        }
      

  3.   

     var tree = document.getElementById("treeView1").getElementsByTagName("Input");
    取出tree的节点遍历for (var i = 0; i < tree.length; i++) {判断if (tree[i].type == "checkbox" && tree[i].checked) {