我需要双击p:dataTable中的p:inputText,以便它将我带到另一个页面并启动详细信息。是否可以从Primefaces p:inputText ondblclick调用backing bean方法?
答案 0 :(得分:0)
p:inputText
最后是一个普通的input
,您可以使用jQuery在其上注册ondblclick
,然后您可以调用p:remoteCommand
来访问您的bean。< / p>
我假设你有多个inpuText,因为你有一个dataTable。
的 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>
的豆强> 的
public void callDetails() {
FacesContext context = FacesContext.getCurrentInstance();
Map map = context.getExternalContext().getRequestParameterMap();
String carModelValue = (String) map.get("carModelValue");
}
希望这有帮助。