【问题标题】:trigger itemSelect event on Primefaces autocomplete在 Primefaces 自动完成上触发 itemSelect 事件
【发布时间】:2017-03-13 10:38:27
【问题描述】:

我有一个 primefaces 自动完成元素,除了一个之外,它的效果很好。问题是当我输入一个有效的文本(可以映射到后面的数据)但我没有从命题中选择元素,也没有按 Tab 或 Enter 键时,什么也没有发生。

所以我输入一个值并单击另一个字段,未选择该元素并且验证失败。但是,我不希望用户强制明确选择一个项目。

我的想法是,我将一个 onchange 侦听器放在输入元素上并触发其中的 primefaces itemSelect 事件。但我不知道该怎么做,如果可能的话。

或者也许还有其他解决方案? 提前致谢!

【问题讨论】:

    标签: primefaces autocomplete


    【解决方案1】:

    我找到了一种方法,虽然它可能不是最漂亮和最简单的方法。 也许它可以帮助某人......

    这是针对 primefaces (5.3) 的特定解决方案,但它也应该适用于其他版本。

    $('#form\\:txtAutoComplete_input').val('Foo');
    $('#form\\:txtAutoComplete_input').trigger('keydown');
    $('#form\\:txtAutoComplete_input').trigger('input');
    $('#form\\:txtAutoComplete_panel .ui-autocomplete-item').trigger('click');
    

    由于某种原因,在将值输入到输入字段后,您必须按顺序触发 keydown 和 input 事件。在这些事件之后,自动完成列表显示匹配值。在那里你必须触发点击某个元素,所以所有支持 bean 的东西都被正确执行。

    【讨论】:

      猜你喜欢
      • 2013-09-08
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 2017-02-16
      • 1970-01-01
      • 2013-03-19
      相关资源
      最近更新 更多