【问题标题】:KendoUI Autocomplete - Change event not firing when selecting the same thing twiceKendo UI Autocomplete - 两次选择同一事物时更改事件未触发
【发布时间】:2013-05-21 15:03:53
【问题描述】:

KendoUI 自动完成功能不允许我连续两次选择相同的项目。如果我选择一个项目,然后选择另一个项目,它当然会起作用,但不是背靠背。

通过将this.trigger('change') 放在kendoAutoComplete({})select 方法中,如果您单击 列表本身中的项目,它将起作用,但是 如果您输入相同的内容并按下 Enter,则不会触发更改事件。

  1. 键入 Anne,单击它(注意它会将其添加到正文中(触发更改事件))
  2. 再试一次(没有任何反应)

只是一些示例代码:jsFiddle EXAMPLE

var autoComplete = $("#input").kendoAutoComplete({
    // other methods...
    select: function (e) {
        console.log('---SELECT---');
        
        // this will work if we select the same thing and SELECT the item 
        // from the the dropdown list,
        //  ** but if we push ENTER, it won't trigger this
        
        //this.trigger('change'); // <--
    },
    change : function (e) {
        console.log(' >> CHANGE');
        $('body').append('<br>' + this.value());
    }
});

【问题讨论】:

    标签: javascript jquery kendo-ui autocomplete jquery-events


    【解决方案1】:

    有点奇怪,但文档说:更改:“当用户更改小部件的值时触发。”这意味着一旦您输入 Anne 并按下 Enter 控件的值设置为“Anne”,一旦您再次输入 Anne 并按下 Enter 值仍然相同,因此没有更改没有事件。通过将触发器放入 select 中,这听起来像是一个不同的事件 > 被选中时触发。

    【讨论】:

      【解决方案2】:

      回到这个问题后,问题就解决了,只需将 kendoAutoComplete 的值设为空即可。

      例子:

      $('#kendoID').data('kendoAutoComplete').value('');
      
      // I have this at the end of the .change() event
      // Lets you keep adding the same item
      

      【讨论】:

        猜你喜欢
        • 2018-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多