我知道我的问题有很多解决方案,但对我来说没有人可以。 这是我的情况:我想以编程方式按节点id选择节点, 在.ascx文件中定义了一个函数:
function InitializeNodeState(nodeID)
{
$('#<%=ClientID %>').jstree("select_node", "#"+nodeID);
};
并在vb文件中定义了另一个函数来调用上面的函数:
Public Sub SelectedRooteNodeToInitializeState(node As TreeNode)
Dim rooteNode As TreeNode = Me.Nodes(0)
If rooteNode.id = node.id Then
Page.ClientScript.RegisterStartupScript(Me.GetType(), "script","InitializeNodeState(" + rooteNode.id + ");", True)
End If
End Sub
我的问题是:
The value of the property 'InitializeNodeState' is null or undefined, not a Function object.
$('#<%=ClientID %>').jstree("select_node", "#"+nodeID);
似乎不起作用。请教育我,谢谢。
以下是有关我的问题的其他信息:
jstree中所有节点的state参数值为null,直到用户单击jstree为止, 所以我想在用户点击jstree之前按id选择一个节点来初始化节点状态。
答案 0 :(得分:0)
此外,您可能需要更改此内容:
Page.ClientScript.RegisterStartupScript(Me.GetType(), "script","InitializeNodeState(" + rooteNode.id + ");", True)
到此:
Page.ClientScript.RegisterStartupScript(Me.GetType(), "script","InitializeNodeState('" + rooteNode.id + "');", True)
答案 1 :(得分:0)
为您的节点设置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