我正在使用可编辑的素面selectOneMenu显示一些值。如果用户从列表中选择一个项目,则应更新文本区域。但是,如果用户在selectOneMenu中键入内容,则不应更新文本区域。
我以为我可以解决ajax事件。但是,我不知道在这里可以使用哪个事件。我只知道这个valueChange事件。是否还有其他事件,例如onSelect或onKeyUp?
valueChange
onSelect
onKeyUp
这是我的代码:
<p:selectOneMenu id="betreff" style="width: 470px !important;" editable="true" value="#{post.aktNachricht.subject}"> <p:ajax event="valueChange" update="msgtext" listener="#{post.subjectSelectionChanged}" /> <f:selectItems value="#{post.subjectList}" /> </p:selectOneMenu> <p:inputTextarea style="width:550px;" rows="15" id="msgtext" value="#{post.aktNachricht.text}" />
PrimeFaces Ajax事件有时记录得很少,因此在大多数情况下,您必须转到源代码并检查一下自己。
p:selectOneMenu支持 更改 事件:
p:selectOneMenu
<p:selectOneMenu ..> <p:ajax event="change" update="msgtext" listener="#{post.subjectSelectionChanged}" /> <!--...--> </p:selectOneMenu>
触发AjaxBehaviorEvent签名中的参数作为监听器:
AjaxBehaviorEvent
public void subjectSelectionChanged(final AjaxBehaviorEvent event) {...}