2013-02-21 50 views
0

我的數據表刷新一個JSF使用jQuery的數據表

<h:form> 
    <h:dataTable value="#{testController.items}" var="item" border="0"> 
     <h:column> 
      <h:outputText value="#{item.name}"/> 
     </h:column>   
    </h:dataTable> 
</h:form> 

我使用一個模式來保持自己的狀態,該模式包含此命令按鈕

<p:commandButton styleclass="btn btn-primary" action="#{testController.create}" oncomplete="handleComplete(xhr, status, args)" /> 

handleComplete功能:

function handleComplete(xhr, status, args) { 
    if(args.validationFailed) { 
     alert("failed"); 
    }else{ 
     $('#test-modal').modal('hide'); 

      // Do something here to reload the datatable to add the newly created item 

    } 
} 

即時通訊使用jsf 2和我也進口primefaces

+0

是'commandButton'也在這個'form'用'dataTable'在一起:

<h:form> <h:dataTable id="table" value="#{testController.items}" var="item" border="0"> <h:column> <h:outputText value="#{item.name}"/> </h:column> </h:dataTable> <p:remoteCommand name="updateTable" action="#{testController.update}" update="table" /> </h:form> 

這可以通過如下方式調用? – partlov 2013-02-21 10:53:40

回答

0

您可以使用<p:remoteCommand>來生成調用JSF命令操作的JavaScript函數。

function handleComplete(xhr, status, args) { 
    if (args.validationFailed) { 
     alert("failed"); 
    } else { 
     $('#test-modal').modal('hide'); 
     updateTable(); 
    } 
} 
+0

嗨,我試着你的建議,但似乎行動沒有被調用,我試圖調試,並在方法上添加了一個sysout,但它似乎沒有調用它。 – galao 2013-02-22 05:53:31