【发布时间】:2014-03-10 01:54:06
【问题描述】:
我需要在 p:dataTable 中双击 p:inputText,这样它就会将我带到另一个页面并启动详细信息。是否可以从 Primefaces p:inputText ondblclick 调用支持 bean 方法?
【问题讨论】:
标签: primefaces
我需要在 p:dataTable 中双击 p:inputText,这样它就会将我带到另一个页面并启动详细信息。是否可以从 Primefaces p:inputText ondblclick 调用支持 bean 方法?
【问题讨论】:
标签: primefaces
p:inputText到底是一个普通的input,你可以用jQuery在上面注册ondblclick,然后你可以调用一个p:remoteCommand来访问你的bean。
我假设您有多个 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");
}
希望这会有所帮助。
【讨论】: