SearchBar的应用程序布局combobox.SelectedValue

时间:2015-10-30 08:40:37

标签: xpages

enter image description here

  1. 如何在应用程序布局中获取SearchBar的值?

  2. 如果我有多个搜索条件(在应用程序布局中)如何获取SearchBar附近的组合框的当前(选定)值?

  3. 看看上面的图片。

1 个答案:

答案 0 :(得分:1)

带有选项的搜索栏背后的基本假设是您将搜索信息提交给另一个XPage。例如;

<xe:this.searchBar>
    <xe:appSearchBar
        pageName="/search1.xsp">
        <xe:this.options>
            <xe:basicLeafNode
                label="People"
                submitValue="people">
            </xe:basicLeafNode>
            <xe:basicLeafNode
                label="Buildings"
                submitValue="buildings">
            </xe:basicLeafNode>
        </xe:this.options>
    </xe:appSearchBar>
</xe:this.searchBar>

这样的标记将创建一个有两个选项的组合框。当用户提交搜索字符串时,它将导航到/search1.xsp?search=SomeValue&option=buildings。因此,您将在目标页面内处理这些值。

在这种情况下,我猜你想根据搜索选项决定要搜索哪个视图。我所做的通常是为搜索结果提供单个XPage,为不同视图提供不同的自定义控件。您可以根据具体情况使用开关或动态控制组件。或者,您可以使用动态视图面板组件在不同视图之间切换。

如果您希望针对不同的搜索选项使用不同的搜索页(例如searchPeople.xsp和searchBuildings.xsp),那么您将有两个选项。您可以设计一个中间页面以将用户重定向到所需的页面,也可以在那里创建自己的搜索框。因此,您通常不需要在页面中拥有选项值。

顺便说一句,该值可在客户端JavaScript获得。这是一个<select>元素,其ID是&#34;应用程序布局控件的ID&#34; +&#34; _searchopt&#34;。您可以使用dojo.byId("#{id:applicationLayout1}_searchopt")引用客户端对象。

希望这有帮助。