如何在应用程序布局中获取SearchBar
的值?
如果我有多个搜索条件(在应用程序布局中)如何获取SearchBar
附近的组合框的当前(选定)值?
看看上面的图片。
答案 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")
引用客户端对象。
希望这有帮助。