Событие onclick JSF в поле со списком

Я не знаю, как реализовать событие onclick в поле со списком, мой босс хочет, чтобы я сделал это, когда пользователь щелкнет значение в поле со списком, он автоматически выполнит поиск и отобразит все значение выбранного элемента / элемента щелчка. Первый вопрос: возможно ли событие onclick на странице JSF без использования javascript / jquery? Прямо сейчас я использую ADF для разработки интерфейса. Второй вопрос, как я могу реализовать это событие onclick в моем поле со списком?


person Heidi Lilybeth    schedule 09.11.2012    source источник


Ответы (2)


Есть несколько способов добиться этого:

  1. Используйте valueChangeListener и выполняйте свой запрос, когда он срабатывает.
  2. Установите autoSubmit = "true", и когда привязанное значение изменится, выполните свой запрос.
person Billy Bob Bain    schedule 09.11.2012
comment
спасибо Теперь он работает, кстати, извините за поздний ответ, я получил его сейчас, но почему valuechangelistener не событие onlick Я имею в виду, что многие люди знают, что onclick является подходящим событием, если нажать кнопку. - person Heidi Lilybeth; 12.11.2012
comment
@HeidiLilybeth, потому что onClick - это JS, и все знают, что вам нужно избегать JS в ADF, когда это возможно, поскольку JS не подходит для производительности вашего веб-приложения - person User404; 12.11.2012

Только выбор значения в раскрывающемся списке не приведет к отправке вашей формы. Речь идет не о JSF, а о HTML ... поэтому без любого JS я думаю, что это невозможно.

Я ничего не знаю о ADF в особенности, но в обычном JSF вам просто нужно добавить ajax-событие в раскрывающийся список (например, в Primefaces)

<h:form id="id1">
            <p:selectOneMenu id="id2" value="#{myBean.value}" 
                             immediate="true" editable="true" >
                <f:ajax execute="@this" listener="#{myBean.doSomeAction}" />
                <f:converter converterId="myConverter" />
                <f:selectItems value="#{myBean.availableOptions}" />
            </p:selectOneMenu>
</h:form>
person stg    schedule 09.11.2012