Я использую Primefaces p: inplace таким образом, что при нажатии на какой-либо текст он заменяется на h: selectOneMenu, и оттуда пользователь может открыть меню и выбрать опцию из раскрывающегося списка. Было бы полезно (и облегчить дополнительный клик), если при нажатии на элемент p: inplace появившийся selectOneMenu уже активирован с раскрывающимися параметрами, как если бы пользователь нажал на него. Я искал это в Google безрезультатно, и мне было интересно, возможно ли, возможно, это сделать даже с JavaScript. (Я могу также использовать р: selectOneMenu или selectOneListbox в случае необходимости, но это не казалось, что это поможет.)Автоматически открывать selectOneMenu за p: inplace при нажатии на него
ответ
Я нашел подобное переполнение стеки вопрос сегодня (не знаю, как я пропустил это изначально):
Can I open a dropdownlist using jQuery
Похоже, наши опасения правы, и нет никакого способа, чтобы открыть выпадающий список сам, но сочетание CSS и изменение элемента может дать мне результаты, которые я ищу. Благодаря!
Как вы сказали, вы могли бы использовать selectOneListBox, особенно если у вас есть несколько вариантов (отлично работает внутри p:inplace
). Я никогда не слышал о подобном запросе, и я думаю, что это все о браузере (могут быть некоторые ограничения в отношении автоматического расширения).
Но вы можете сделать вещь, которая может порадовать вас: удалить вариант по умолчанию, как:
<f:selectItem itemLabel="Select..." itemValue=""/>
и сделать некоторые исследования, чтобы выяснить наиболее выбранный вариант и поставить эту опцию по умолчанию/первый. Поэтому большинству людей даже не придется расширять меню выбора.
Я ценю предложение, но я в значительной степени уже это делаю. Эти теги p: inplace и h: selectOneMenu находятся внутри ячеек таблицы, а когда столбцы динамически создаются, selectOneMenus присваиваются значениям по умолчанию. (Это также причина, по которой я использую selectOneMenus вместо selectOneListboxes - ячейки таблицы будут значительно расширять строку при срабатывании p: inplace.) – Jaron