从onclick事件访问组合框中的选定值

时间:2013-09-12 16:42:44

标签: combobox xpages

我有一个包含值列表的组合框。 ComboBox未绑定到数据源。 我在组合框上有一个onClick事件,我需要知道选择了什么值。我可以做一个getComponent(“comboBox1”)。getValue()但我知道这是访问控件值的最低效方法。有没有更好的方法来访问所选的值?

2 个答案:

答案 0 :(得分:7)

我会将组合框绑定到viewScope变量。易于访问和在其他地方使用。 但是有很多方法可以获得价值,但这是我喜欢的方式。

答案 1 :(得分:3)

在任何服务器端事件处理程序的上下文中,JavaScript变量this引用事件处理程序本身。因为事件处理程序实际上是组件,并且被认为是与它们关联的任何组件的“子”,所以表达式this.getParent()将返回关联组件的句柄。

因此,当您只是尝试获取触发事件的同一组件的值时(在您的情况下,组合框的onClick事件):

this.getParent().getValue()

这不会遇到与getComponent()相同的低效率,因为它不必搜索...它只是在组件树中向上导航一个级别。但是,如果其他组件将从了解其值中获益,则还应遵循Fredrik的建议并将组件绑定到viewScope变量,这样您就可以从内存中检索值,而不是尝试从其他位置查找UI组件。页面结构。