2013-06-05 2 views
0

У меня есть <h:selectOneMenu> для выбора значений. и <p:commandButton> для запуска действия. <p:commandButton> отлично работает и делает все, что я хочу. но если я модифицирую код для <h:selectOneMenu>, как это произошло, он прекратил обстрел действия.<h: selectOneMenu> valuChangeListener действующий weird

<h:selectOneMenu valueChangeListener="#{searchBean.handleValueChange}" value="#{searchBean.teamName}" immediate="true"> 
    <f:selectItems value="#{searchBean.teamName}"/> 
    <f:ajax event="click"/> 
</h:selectOneMenu> 

The valuChangeListener даже не работает, когда я выбираю значение из выпадающего списка. ManagedBean находится в @ViewScoped и выше коды находятся в <h:form> теге. В чем причина такого поведения?

+0

место 'OnChange = "отправить()"' в '<ч: selectOneMenu>' тег – Freak

+0

почему вы помечать его primefaces? – Freak

+0

Вы применяли какие-либо проверки? Также попробуйте удалить 'немедленно =" true "из этого тега – Freak

ответ

0

Вы должны приложить к входному компоненту код onchange="submit()"; В противном случае никакое событие не будет запущено.

 <h:selectOneMenu 
    valueChangeListener="#{searchBean.handleValueChange}" 
value="#{searchBean.teamName}" onchange="submit()" immediate="true"> 
      <f:selectItems value="#{searchBean.teamName}"/> 
      <f:ajax event="click"/> 
     </h:selectOneMenu> 
+0

Я хочу, чтобы запускал действие, которое вызывает метод. возможно ли это сделать? – NDeveloper

+0

Я знал о 'onchange =" submit() "' вещь, но он автоматически отправляет форму, не дожидаясь, пока кнопка будет работать. – NDeveloper

+0

Знаете ли вы, что вы спрашиваете? Ofcorse '' способен запустить метод. Каково отношение этой вещи к этому вопросу? – Freak

Смежные вопросы