我是 JSF 和 Primefaces 的新手。我正在构建一个 xhtml 页面,其中我有两个primefaces 的selectonemenu。我想根据用户在第一个selectonemenu 中选择的值启用或禁用第二个selectonemenu。对于启用/禁用,我在页面中编写了 Java 脚本,因为我想在客户端执行此操作,但我不知道如何在 primefaces 组件中调用 java 脚本函数。
代码示例
<h:head>
<style type="text/css">
.ui-widget,.ui-widget .ui-widget {
font-size: 12px !important;
}
</style>
<script>
function disableOneMenu() {
alert("In Disable One Menu Function...");
var clickedGroup = document.getElementById('groupOneMenu').value;
alert("Selected Value " + clickedGroup);
if (clickedGroup == "Designation") {
document.getElementById('designation').disabled = true;
alert("Location One Menu Disabled...");
}
}
</script>
<link type="text/css" rel="stylesheet"
href="#{request.contextPath}/themes/redmond/skin.css" />
</h:head>
<h:body>
<h:form>
<p:layout fullPage="true">
<p:layoutUnit position="north" size="30"
header="HCV : Peer Group Analysis" resizable="true">
</p:layoutUnit>
<p:layoutUnit id="contentLayout" position="west" size="200">
<h:panelGrid columns="2">
<h:outputText value="Analyse for values of attribute: " />
<p:selectOneMenu id="groupOneMenu" value="#{userInput.groupAttr}"
style="font-size:18;font-weight:bold;color:blue;width:100">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItems value="#{userInput.groupAttrList}" />
<p:ajax event="valueChange" actionListener="disableOneMenu" />
</p:selectOneMenu>
<h:outputText value="Designation: " />
<p:selectOneMenu id="designatinoOneMenu"
value="#{userInput.designation}"
style="font-size:18;font-weight:bold;color:blue;width:100">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItems value="#{userInput.designationList}" />
</p:selectOneMenu>
</h:panelGrid>
</p:layoutUnit>
</p:layout>
</h:form>
</h:body>
</html>
请帮忙,我可以在 xhtml 页面中使用 java 脚本..
谢谢..