Jsf 单击建议后InputExtArea是否触发任何事件?

Jsf 单击建议后InputExtArea是否触发任何事件?,jsf,primefaces,autocomplete,Jsf,Primefaces,Autocomplete,我有一个InputExtArea,它在输入查询后调用completeMethod。。。这很好,建议正在显示,但是我需要捕捉ajax事件,以便知道用户选择了哪个建议。可能吗?您正在尝试使用ajaxitemSelect事件,如下所示: <h:form> <p:inputTextarea widgetVar="textarea" completeMethod="#{myBean.complete}"> <p:ajax event="itemSele

我有一个InputExtArea,它在输入查询后调用completeMethod。。。这很好,建议正在显示,但是我需要捕捉ajax事件,以便知道用户选择了哪个建议。可能吗?

您正在尝试使用ajax
itemSelect
事件,如下所示:

<h:form>
    <p:inputTextarea widgetVar="textarea" completeMethod="#{myBean.complete}">
        <p:ajax event="itemSelect" listener="#{myBean.onSelect}" />
    </p:inputTextarea>
</h:form>
结果
undefined
表示缺少客户端行为配置

您可以通过重写InputTextareaRenderer.encodeScript()方法来解决此问题:

在faces配置中,添加渲染器:

<faces-config>
  ...
  <render-kit>
      <renderer>
          <component-family>org.primefaces.component</component-family>
          <renderer-type>org.primefaces.component.InputTextareaRenderer</renderer-type>
          <renderer-class>my.package.CustomInputTextareaRenderer</renderer-class>
      </renderer>
  </render-kit>
</faces-config>

您正在尝试使用ajax
itemSelect
事件,如下所示:

<h:form>
    <p:inputTextarea widgetVar="textarea" completeMethod="#{myBean.complete}">
        <p:ajax event="itemSelect" listener="#{myBean.onSelect}" />
    </p:inputTextarea>
</h:form>
结果
undefined
表示缺少客户端行为配置

您可以通过重写InputTextareaRenderer.encodeScript()方法来解决此问题:

在faces配置中,添加渲染器:

<faces-config>
  ...
  <render-kit>
      <renderer>
          <component-family>org.primefaces.component</component-family>
          <renderer-type>org.primefaces.component.InputTextareaRenderer</renderer-type>
          <renderer-class>my.package.CustomInputTextareaRenderer</renderer-class>
      </renderer>
  </render-kit>
</faces-config>

至少有源代码存在,但如果这不起作用,请创建一个文件并提交一个错误报告。我看过您提到的Primefaces代码,它们从AjaxBehaviorEvent生成一个SelectItem事件,但正如您所说的,它不起作用,事件不会触发。您实际上发现了一个错误。我提交了一个文件,稍后将添加一个解决方案。该错误已被合并,将在PF 7.1中。如果您现在需要它,您将需要从源代码构建或使用jitpack.io版本。至少有源代码存在,但如果这不起作用,请创建并提交错误报告。我看过您提到的Primefaces代码,它们从AjaxBehaviorEvent生成SelectItem事件,但正如您所说,它不起作用,事件未被触发。您实际发现了一个bug。我提交了一个文件,稍后将添加一个解决方案。该错误已被合并,将在PF 7.1中。如果您现在需要它,您将需要从源代码构建或使用jitpack.io版本。我在showcase中的几个组件上尝试了
PF(“…”).cfg.behaviors
,这些组件都有ajax和它们,但除了未定义的组件之外,没有其他组件返回任何内容。。。怪人。。。。我掉进了“英国对美国”的陷阱<代码>行为vs
行为
@Kukeltje和我的语法需要widgetVar,不确定大多数showcase组件是否配置了widgetVar?此外,它只包括非常特殊的事件,如“itemSelect”,但不包括一般事件,如“click”、“change”等,并且只有在有p:ajax在场的情况下才能捕捉到它。我在showcase中的几个组件上尝试了
PF(“…”).cfg.behaviors
,这些组件都有ajax,但除了未定义的组件外,没有任何其他组件返回它们。。。怪人。。。。我掉进了“英国对美国”的陷阱<代码>行为vs
行为
@Kukeltje和我的语法需要widgetVar,不确定大多数showcase组件是否配置了widgetVar?此外,它只包括非常特殊的事件,如“itemSelect”,但不包括一般事件,如“click”、“change”等,并且只有在有p:ajax在场的情况下才能捕捉到它。
<faces-config>
  ...
  <render-kit>
      <renderer>
          <component-family>org.primefaces.component</component-family>
          <renderer-type>org.primefaces.component.InputTextareaRenderer</renderer-type>
          <renderer-class>my.package.CustomInputTextareaRenderer</renderer-class>
      </renderer>
  </render-kit>
</faces-config>
PF('textarea').cfg.behaviors
> Object { itemSelect: itemSelect() }