小编典典

selectOneMenu Ajax事件

ajax

我正在使用可编辑的素面selectOneMenu显示一些值。如果用户从列表中选择一个项目,则应更新文本区域。但是,如果用户在selectOneMenu中键入内容,则不应更新文本区域。

我以为我可以解决ajax事件。但是,我不知道在这里可以使用哪个事件。我只知道这个valueChange事件。是否还有其他事件,例如onSelectonKeyUp

这是我的代码:

<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}" />

阅读 297

收藏
2020-07-26

共1个答案

小编典典

PrimeFaces Ajax事件有时记录得很少,因此在大多数情况下,您必须转到源代码并检查一下自己。

p:selectOneMenu支持 更改 事件:

<p:selectOneMenu ..>
    <p:ajax event="change" update="msgtext"
        listener="#{post.subjectSelectionChanged}" />
    <!--...-->
</p:selectOneMenu>

触发AjaxBehaviorEvent签名中的参数作为监听器:

public void subjectSelectionChanged(final AjaxBehaviorEvent event)  {...}
2020-07-26