如何控制在rich:pickList中选择单个项目

时间:2010-08-31 08:56:50

标签: jquery jsf richfaces

我们要求只从rich:pickList中选择一个元素。在选择项目后,如何禁用控件或阻止人们从左侧移动其他数据。

1 个答案:

答案 0 :(得分:0)

我并不理解这个要求,因为rich:pickList专门用于从另一个列表中选择列表。

理想情况下,像<h:selectOneListbox>这样的组件在您的案例中会更容易使用。

但是,如果您真的必须使用rich:pickList,我建议您使用onlistchange Javascript事件。更改列表时将调用此事件。所以你可以尝试获得所选列表的大小,如果这个大小等于1(即使用已经选择了一个项目),你只需返回false。这通常会取消用户所做的操作(即添加另一个元素)。

另一个想法,仍然基于onlistchange事件的使用(或者在这种情况下可能是onlistchanged更好)是在所选元素列表中添加一个元素时禁用按钮。

最后的想法是在我的第二个想法中做同样的事情,但使用Ajax。正如您在Richfaces Live Demo站点中所看到的,有一个使用此组件的示例,其中一个面板可以计算所选元素的数量。因此,当此计数器等于1时,您可以尝试禁用添加按钮。