2017-04-27 16 views
1

在我的XPage上,我有一個啓用了Select 2的列表框控件。當選擇的值發生變化我想在我的XPage更新多個其他控件:如何在xpage上使用select2啓用列表框來部分刷新多個控件

<xp:listBox id="listType" value="#{employeeBean.employee.type}"> 
        <xp:selectItem itemLabel="Native"></xp:selectItem> 
        <xp:selectItem itemLabel="Expat"></xp:selectItem> 
       </xp:listBox> 
<xp:scriptBlock id="update"> 
<xp:this.value><![CDATA[ 
$(document).ready(
    function(){ 
     x$("#{id:listType}").select2(); 
    } 
) 
$(document).ready(
    function(){ 
     x$("#{id:listType}").on("change", function(e) { 
      XSP.partialRefreshPost("#{id:txtTime}");  
      XSP.partialRefreshPost("#{id:txtTest}");   
     }) 
    } 
)]]></xp:this.value> 
</xp:scriptBlock> 

這裏是項目:

<xp:text escape="true" id="txtTime" value="#{javascript:@Now();}"> 
       <xp:this.converter> 
        <xp:convertDateTime type="time"></xp:convertDateTime> 
       </xp:this.converter> 
      </xp:text> 
<xp:text escape="true" id="txtTest" value="#{employeeBean.employee.type}"> 
</xp:text> 

我只注意到的第一項被刷新。我究竟做錯了什麼?

回答

4

使用部分級聯(開始第二時,首先完成)刷新:

XSP.partialRefreshPost("#{id:txtTime}", { 
    onComplete: function() { 
     XSP.partialRefreshPost("#{id:txtTest}"); 
    } 
}); 
+0

克努特你好,我更新了我的代碼,它現在作爲一個魅力。非常感謝你! – Malin