Это должен быть очень простой вопрос. У меня есть дерево richfaces, которое отображается с использованием JSF. Когда пользователь нажимает на узел, я хочу, чтобы выполнялась функция 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 не определен. Я ожидал, что первым аргументом обратного вызова будет выбранный узел, но это не так.
Итак, вопрос такой:
Как запустить функцию Javascript с выбранным узлом из дерева richfaces?