KendoUI自动完成 - 在选择相同的东西两次时更改事件未触发

时间:2013-05-21 15:03:53

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

KendoUI自动填充功能不允许我连续两次选择相同的项目。如果我选择一个项目,然后选择另一个项目,它当然会有效,但不能背靠背。

this.trigger('change')放在kendoAutoComplete({})的选择方法中,如果您从列表本身点击,它将会起作用,< strong>但如果您输入相同的内容并按 Enter ,则不会触发更改事件。

  1. 键入Anne,单击它(注意它将它添加到正文(更改事件已触发))
  2. 再试一次(没有任何反应)
  3. 只是一些示例代码: 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());
        }
    });
    

2 个答案:

答案 0 :(得分:1)

有点奇怪,但文档说:更改:“当用户更改窗口小部件的值时触发。”这意味着一旦你输入安妮并按回车键,控件的值就设置为“安妮”,一旦你再次输入安妮并按下输入值仍然是相同的,所以没有改变没有事件。通过将触发器置于选择中,听起来像是一个不同的事件&gt;选中时火。

答案 1 :(得分:0)

返回此问题后,只需将kendoAutoComplete的值设为空即可解决问题。

示例:

$('#kendoID').data('kendoAutoComplete').value('');

// I have this at the end of the .change() event
// Lets you keep adding the same item