我正在使用可编辑的素面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}" />

最佳答案

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

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

这会触发AjaxBehaviorEvent作为签名中的参数的侦听器:

public void subjectSelectionChanged(final AjaxBehaviorEvent event)  {...}

关于ajax - selectOneMenu Ajax事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16587585/

10-11 15:28
查看更多