如何在xpage

时间:2017-04-27 10:32:17

标签: javascript xpages

在我的XPage上,我有一个列表框控件,启用了Select 2。当所选值更改时,我想更新XPage中的多个其他控件:

<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>

我只注意到第一个项目正在刷新。我做错了什么?

1 个答案:

答案 0 :(得分:4)

使用级联刷新级联(首次完成时开始第二次):

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