从Javascript访问Richfaces树的选定节点
作者:互联网
这应该是一个非常简单的问题.我有一棵使用JSF渲染的richfaces树.当用户单击节点时,我希望运行javascript函数.一无所有没有重定向,没有重新提交,没有渲染,没有Ajax.只是普通的旧Javascript.
我已经看到了树的onselected属性,它确实触发了Javascript方法.但是,我当然想知道单击了哪个节点.
这是我到目前为止的
<head>
<script type="text/javascript">
function documentClicked(nodeRef)
{
alert("Node is "+nodeRef);
}
</script>
</head>
<rich:tree switchType="client" value="#{ajaxDocumentTree.rootNode}"
var="document" onselected="documentClicked()" >
<rich:treeNode iconLeaf="../images/tree/doc.gif"
icon="../images/tree/doc.gif">
<h:outputText value="#{document.friendlyName}" />
</rich:treeNode>
但这不起作用,因为未定义nodeRef.我希望回调的第一个参数是选定的节点,但事实并非如此.
所以问题是这样的:
如何使用Richfaces树中的选定节点触发Javascript函数?
解决方法:
答案是javascript代码应该在节点级别而不是树级别.
<head>
<script type="text/javascript">
function documentClicked(nodeRef)
{
alert("Node id is "+nodeRef);
}
</script>
</head>
<rich:tree switchType="client" value="#{ajaxDocumentTree.rootNode}"
var="document" >
<rich:treeNode onclick="documentClicked('#{document.id}')">
<h:outputText value="#{document.friendlyName}" />
</rich:treeNode>
标签:richfaces,jsf,tree,javascript,java 来源: https://codeday.me/bug/20191106/1999861.html