如何将onComplete事件添加到Xpages extLib valuePicker控件

时间:2015-06-29 10:57:13

标签: xpages xpages-extlib

我的XPage上有一个extensionLibrary valuePicker控件,我想在用户选择后运行一些搜索代码。我怎么能得到这个。任何onComplete事件?我想在目标字段中省略“onchange”事件(用户可以手动更改它,然后我想开始搜索Enter或搜索按钮点击)

        <xe:valuePicker id="valuePicker1"
            for="TargetField" pickerText="Select"
            dialogTitle="Select">
            <xe:this.dataProvider>
                <xe:simpleValuePicker labelSeparator="|">
                    <xe:this.valueList><![CDATA[#{javascript:getMyValues()}]]></xe:this.valueList>
                </xe:simpleValuePicker>
            </xe:this.dataProvider>
        </xe:valuePicker>

1 个答案:

答案 0 :(得分:2)

从源代码看,值Picker调用XSP.selectValue()调用默认情况下extlib.dijit.PickerList显示的对话框的dojoType。它触发AJAX请求以检索值,但是仅通过CSJS打开和关闭对话框。所以没有像部分刷新那样的onComplete事件。并且在关闭时没有添加CSJS的当前钩子。但是可以扩展JavaScript文件并触发它。我在您的用例中不确定您的编辑框控件需要哪些相应的代码。

我首选的方法是使用Dojo列表文本框来保存选定的值(而不是编辑框或其他可手动编辑的组件),然后在该目标字段上使用onChange事件。我个人认为它提供了更好的用户体验,不鼓励手动输入,并且无需验证编辑框以供用户输入。