Javascript jstree:如何按id选择节点

Javascript jstree:如何按id选择节点,javascript,jquery,html,vb.net,jstree,Javascript,Jquery,Html,Vb.net,Jstree,我知道有很多方法可以解决我的问题,但没有一个适合我。 我的情况是:我想通过编程方式逐个选择一个节点id, 在.ascx文件中定义了一个函数: function InitializeNodeState(nodeID) { $('#<%=ClientID %>').jstree("select_node", "#"+nodeID); }; 我的问题是: JavaScript运行时错误:属性'InitializeNodeState'的值为null或未定义,不是函数对象。 语句$

我知道有很多方法可以解决我的问题,但没有一个适合我。 我的情况是:我想通过编程方式逐个选择一个节点id, 在.ascx文件中定义了一个函数:

function InitializeNodeState(nodeID) 
{
    $('#<%=ClientID %>').jstree("select_node", "#"+nodeID);
};
我的问题是:

  • JavaScript运行时错误:
    属性'InitializeNodeState'的值为null或未定义,不是函数对象。
  • 语句
    $('#').jstree(“select_node”、“#”+nodeID)似乎不起作用
  • 请教育我,谢谢

    以下是有关我的问题的其他信息:

    在用户单击jstree之前,jstree中所有节点的状态参数值均为null, 所以我想在用户单击jstree之前,通过id选择一个节点来初始化节点状态

  • 您将javascript函数放在哪里。我认为它需要在头部的脚本标记中(或者在头部包含的js文件中)
  • 如果您查看源代码,您会在javascript上看到什么?您认为什么是客户端ID,什么是节点ID(在HTML源代码中)
  • 此外,您可能需要更改以下内容:

    Page.ClientScript.RegisterStartupScript(Me.GetType(),   "script","InitializeNodeState(" + rooteNode.id + ");", True) 
    
    为此:

    Page.ClientScript.RegisterStartupScript(Me.GetType(),   "script","InitializeNodeState('" + rooteNode.id + "');", True) 
    

    为您的节点设置runat服务器
    比如说

    <tr runat="server" id="myNode"></tr>
    
    
    $('#<%=yourElement.ClientID %>').jstree("select_node", "#"+nodeID);
    
        Public Sub SelectedRooteNodeToInitializeState(node As TreeNode)
            Dim rooteNode As TreeNode = Me.Nodes(0)
            If rooteNode.ClientID = myNode.ClientID Then
               Page.ClientScript.RegisterStartupScript(Me.GetType(),   "script","InitializeNodeState(" + myNode.ClientID + ");", True)        
            End If
        End Sub
    
    
    $('#').jstree(“选择_节点”,“#”+nodeID);
    Public Sub-SelectedRooteNodeToInitializeState(节点作为树节点)
    Dim rooteNode As TreeNode=Me.Nodes(0)
    如果rooteNode.ClientID=myNode.ClientID,则
    Page.ClientScript.RegisterStartupScript(Me.GetType(),“script”,“InitializeNodeState(“+myNode.ClientID+”),True)
    如果结束
    端接头
    
    感谢您的快速响应Prescott,javascript函数已放置在脚本标记中,nodeid具有418这样的实际值。您能复制并粘贴看到的简单HTML输出吗?(删掉所有不相关的东西)
    <tr runat="server" id="myNode"></tr>
    
    
    $('#<%=yourElement.ClientID %>').jstree("select_node", "#"+nodeID);
    
        Public Sub SelectedRooteNodeToInitializeState(node As TreeNode)
            Dim rooteNode As TreeNode = Me.Nodes(0)
            If rooteNode.ClientID = myNode.ClientID Then
               Page.ClientScript.RegisterStartupScript(Me.GetType(),   "script","InitializeNodeState(" + myNode.ClientID + ");", True)        
            End If
        End Sub