当前位置: 首页 > 知识库问答 >
问题:

selectOneMenu ajax事件

申屠涛
2023-03-14

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

我想我可以用ajax事件解决这个问题。然而,我不知道我可以在这里使用哪种活动。我只知道Value Change事件。是否有任何其他事件,如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}" />

共有3个答案

苍恩
2023-03-14

请注意,在selectOneMenu组件运行之前,页面中不包含任何“required”属性为“true”的空组件
如果您使用以下组件:

<p:inputText label="Nm:" id="id_name" value="#{ myHelper.name}" required="true"/>

然后

<p:selectOneMenu .....></p:selectOneMenu>

并且忘记填充所需的组件,selectoneMenu的ajax侦听器无法执行。

公孙高畅
2023-03-14

我宁愿使用更方便的itemSelect事件。通过此事件,您可以使用org。素数面。事件在监听器中选择事件对象。

<p:selectOneMenu ...>
    <p:ajax event="itemSelect" 
        update="messages"
        listener="#{beanMB.onItemSelectedListener}"/>
</p:selectOneMenu>

与这样的听众:

public void onItemSelectedListener(SelectEvent event){
    MyItem selectedItem = (MyItem) event.getObject();
    //do something with selected value
}
汪德明
2023-03-14

PrimeFaces ajax事件有时记录很差,因此在大多数情况下,您必须访问源代码并检查自己。

p:selectOneMenu支持更改事件:

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

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

public void subjectSelectionChanged(final AjaxBehaviorEvent event)  {...}
 类似资料:
  • 很多企业在使用诸葛io时,会采集和分析数量非常多(可能会多达几百上千)的用户行为事件。这时,事件查找和组织就变得不够方便。 为此,诸葛io提供了事件分组和重要事件(星标事件)标注功能,当事件很多时,可以对事件进行分门别类地管理。同时,可以从产品业务角度将重要的用户行为标注出来,以便可以在分析时方便、快捷地查找常用、重要的事件。 一、使用场景 1. 在众多事件中,方便、快捷地查找重要事件 在分析过程

  • 事件流 三个过程: 从window对象向下到触发元素的父级元素是捕获过程; 然后触发相应事件 从当前触发事件的节点的父节点开始向上冒泡,冒泡到顶层的window对象 capture phase 捕获过程 target phase 触发过程 bubble phase 冒泡过程 冒泡与捕获 <!DOCTYPE html> <html> <head> <meta charset="utf-8

  • ConnectionMultiplexer 类型提供了许多事件可以用来理解被封装的底层是怎幺工作的。这在记录日志时会特别有用。 ConfigurationChanged - 当连接的配置从 ConnectionMultiplexer 内部发生修改时触发 ConfigurationChangedBroadcast - 当经由发布/订阅接收到重新配置消息时引发; 这通常是由于 IServer.Make

  • 简介 Lumen 事件提供了简单的侦听器实现,允许你订阅和监听事件,事件类通常被保存在 app/Events 目录下,而它们的侦听器被保存在 app/Listeners 目录下。 不同于 Laravel 通常,Lumen 中的事件方法恰好与 Laravel 全栈框架功能一致,所以,请阅读完整的 Laravel 文档 。Lumen 同样支持事件广播,它允许客户端的 JavaScript 监听服务端的

  • xorm 支持两种方式的事件,一种是在 Struct中的特定方法来作为事件的方法,一种是在执行语句的过程中执行事件。 在Struct中作为成员方法的事件如下: BeforeInsert() 在将此struct插入到数据库之前执行 BeforeUpdate() 在将此struct更新到数据库之前执行 BeforeDelete() 在将此struct对应的条件数据从数据库删除之前执行 func Bef

  • 模板事件 BeforeRender方法 AfterRender方法 Action事件 Init方法 Before方法 After方法 Action的方法可以有不同的返回值。不同的返回值所对应的输出也不相同: 如果返回值为error,则检查error是否为nil,如果不为nil,则输出错误信息 如果返回值为string,则将string写到body 如果返回值为[]byte,则输出二进制数据。

  • 在初始化时传入,也可通过实例方法”on”进行事件注册。 作为初始化参数时需要以on开头且全为小写,绑定时为驼峰命名。 不同的回调方法由于所处场景不同,传入的参数会存在区别。 示例: var S = new iSlider({..., onslidechanged: callBack, ...}); S.on('slideChanged', callBack); initialize 初始化开始(

  • 事件流 方式 传递方向 捕获 document ---> html ---> body ---> 目标对象 冒泡 目标对象 ---> body ---> html ---> document 事件模型 模型 绑定方式 阶段 DOM 0 级 <button onclick=""> 或 button.onclick = function() {} ​ IE 特有 button.attachEvent(