Primefaces и видимое автозаполнение в SelectOneMenu

Есть ли способ выполнить следующее требование

  1. Используйте JSF с Primefaces
  2. Используйте SelectOneMenu с автозаполнением
  3. Сделайте вводимый текст видимым: т. е. не только набор текста (поскольку он уже поддерживается), но и у пользователя должно быть видимое поле ввода для выбора данного пункта меню.

Я предполагаю, что это должна быть комбинация (настраиваемого) ввода filtering, editable и проверки на стороне сервера, но я не нашел, как это сделать.

Спасибо!


person Christian    schedule 22.01.2015    source источник
comment
Вы ищете расширенный пример здесь? primefaces.org/showcase/ui/input/oneMenu.xhtml . иначе я не понимаю вопроса   -  person Jaqen H'ghar    schedule 22.01.2015
comment
Спасибо. Это должна быть комбинация Editable и Advandedcase. Возьмите поле Editable и введите New. В этом случае он не выполняет автозаполнение до Нью-Йорк, а отправляет только ввод Новый. Пример Advanced соответствует поведению, но поле ввода отображается НИЖЕ поля исходного выбора - этого не должно происходить. О, и это должно избегать кода JavaScript. Так что остается вопрос: возможно или нет?   -  person Christian    schedule 23.01.2015


Ответы (1)


Вопрос старый, конечно, но он будет полезен другим, поэтому дайте ответ.

Да, можно получить оба. Ниже приведен пример из демо Primefaces для редактируемого поля со списком.

<p:outputLabel for="city" value="Editable: " />
    <p:selectOneMenu id="city" value="#{selectOneMenuView.city}" effect="fold" editable="true">
        <f:selectItem itemLabel="Select One" itemValue="" />
        <f:selectItems value="#{selectOneMenuView.cities}" />
    </p:selectOneMenu>

Вы можете добавить к этому атрибуту другой и получить расширенные характеристики вместе с редактируемыми.

<p:outputLabel for="city" value="Editable: " />
    <p:selectOneMenu id="city" value="#{selectOneMenuView.city}" effect="fold" editable="true" filter="true" filterMatchMode="startsWith">
        <f:selectItem itemLabel="Select One" itemValue="" />
        <f:selectItems value="#{selectOneMenuView.cities}" />
    </p:selectOneMenu>

Готово. Вы получили оба.

person umeshfadadu    schedule 13.03.2017