Автоматически открывать selectOneMenu за p: inplace при нажатии - PullRequest
3 голосов
/ 19 декабря 2011

Я использую Primefaces p: inplace таким образом, чтобы при нажатии на какой-либо текст он заменялся h: selectOneMenu, и оттуда пользователь может открыть меню и выбрать вариант из выпадающего списка. Было бы полезно (и облегчило бы дополнительный щелчок), если бы при щелчке по элементу p: inplace появившееся selectOneMenu уже было активировано с его раскрывающимися опциями, показывающими, как если бы пользователь щелкнул по нему. Я искал это в Google безрезультатно, и мне было интересно, возможно ли вообще такое сделать, даже с JavaScript. (Я также могу использовать p: selectOneMenu или selectOneListbox, если это необходимо, но, похоже, это не поможет.)

Ответы [ 2 ]

0 голосов
/ 10 января 2012

Я нашел этот похожий вопрос переполнения стека сегодня (не знаю, как я его пропустил изначально):

Можно ли открыть выпадающий список с помощью jQuery

Похоже, наши опасения верны, и нет никакого способа открыть сам выпадающий список, но комбинация CSS и изменение элемента могут дать мне результаты, которые я ищу. Спасибо!

0 голосов
/ 20 декабря 2011

Как вы говорите, вы можете использовать selectOneListBox , особенно если у вас мало вариантов (прекрасно работает внутри p:inplace). Я никогда не слышал о таком запросе, и я думаю, что все дело в браузере (могут быть некоторые ограничения в отношении автоматического расширения).

Но вы можете сделать то, что может вас порадовать: удалить параметр по умолчанию, например:

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

и проведите некоторое исследование, чтобы выяснить наиболее выбранный вариант и поставить этот параметр по умолчанию / первым. Таким образом, большинству людей даже не придется расширять меню выбора.

...