我需要双击p:p:p:dataTable内部的inputText:inputText,以便它将我带到另一个页面并启动详细信息。是否可以从PrimeFaces p:InputText Ondblick调用BEAN方法?
p:inputText
是一个普通的input
,您可以使用jQuery在其上注册ondblclick
,然后您可以调用p:remoteCommand
到达bean。
我假设您有多个InPutext,因为您有一个数据词。
xhtml
<p:dataTable var="car" value="#{bean.cars}">
<p:column headerText="Model">
<p:inputText value="#{car.model}" styleClass="dbClickInput" />
</p:column>
</p:dataTable>
<p:remoteCommand name="callDetailsCommand"
actionListener="#{bean.callDetails()}" />
<script>
$(document).ready(function() {
$('.dbClickInput').dblclick(
function() {
callDetailsCommand([{name: 'carModelValue', value: $(this).val()}]);
}
);
});
</script>
bean
public void callDetails() {
FacesContext context = FacesContext.getCurrentInstance();
Map map = context.getExternalContext().getRequestParameterMap();
String carModelValue = (String) map.get("carModelValue");
}
希望这会有所帮助。