从p:inputText ondblclick调用支持bean

时间:2014-03-10 01:54:07

标签: primefaces

我需要双击p:dataTable中的p:inputText,以便它将我带到另一个页面并启动详细信息。是否可以从Primefaces p:inputText ondblclick调用backing bean方法?

1 个答案:

答案 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");
}

希望这有帮助。