2011-12-19 74 views
3

我使用Primefaces p:inplace,当点击某些文本时,它被替换为h:selectOneMenu,并从那里用户可以打开菜单并选择一个选项从下拉式选择。如果当我点击p:inplace元素时,出现的selectOneMenu已经激活并显示下拉选项,就好像用户点击了它一样,这会有所帮助(并减轻额外的点击)。我在Google上搜索了这个功能,但是想知道是否实际上有可能做这样的事情,即使使用JavaScript。 (我也可以使用号码:selectOneMenu用于或selectOneListbox如果需要的话,但它似乎并不像这将有助于。)在点击后自动打开selectOneMenu后面的p:inplace当它被点击时

回答

0

我发现这个类似的堆栈溢出的问题今日(不知道我怎么错过了它原本):

Can I open a dropdownlist using jQuery

看来我们的担心是正确的,有没有办法打开下拉列表本身,但CSS和修改元素的组合可能会给我我正在寻找的结果。谢谢!

0

正如你所说,你可以使用一个selectOneListBox,特别是如果你有几个选项(在p:inplace内工作得很好)。我从来没有听说过这样的请求,我认为这都是关于浏览器(可能有一些关于自动扩展的限制)。

但你可以做到这一点的话,请你一件事:删除默认选项,如:

<f:selectItem itemLabel="Select..." itemValue=""/> 

,并做一些研究,以找出最所选的选项,并将该选项为默认/第一。所以大多数人甚至不需要扩大选择菜单。

+0

我很欣赏这个建议,但我已经做了很多。这些p:inplace和h:selectOneMenu标记位于表格中的单元格内部,并且当动态创建列时,selectOneMenus会被赋予默认值。 (这也是我使用selectOneMenus而不是selectOneListboxes的原因 - 当p:inplace被触发时,表格单元格会大大扩展行。) – Jaron 2011-12-20 17:34:30