2013-10-21 51 views
0

我们定制的jQuery的自动完成了一下,在change事件处理程序中,我们需要访问输入调用我们添加了一个功能。 ui参数是所选项目,但如果用户输入了一些随机文本,则不会选择任何项目,并且ui.item为空。所以我不能使用遍历ui.item上的DOM基础。访问自动完成输入

总之,我们(实际上是过去有人在这个项目上)所做的是修改jQuery UI的文件:

$.widget("ui.autocomplete", { 
    // original code here 
    ourCustomMethod: function() {} 
}); 

现在,我们已经建立了一个下拉框,其中我们(简体):

var self = this; 
var input = this.input = $("<input>") 
    .autocomplete({ 
     change: function(event, ui) { 
      if (!ui.item) { 
       // I want to call the ourCustomMethod here 
       // I can't use the parents of ui.item because it's null 
      } 
     } 
    }); 

那么我怎样才能访问到ourCustomMethod?我通过self.input猜测,但不能完全把我的手指。

+0

你的自定义函数有什么作用? – Sarcastic

+0

它是组合框的过滤逻辑,但并不真正相关。与此同时,我找到了解决方案。感谢您的关注。 – Peter

回答

0

对不起,这么快回答这个问题,不过我找到了答案继续环顾四周后。我从来不知道如何正确地说出这些。

我在这里找到了答案:JQuery - Widget Public Methods

在我的情况,我可以这样做:

self.input.autocomplete('ourCustomMethod'); 

这显然是调用DOM元素控件的方法,这是我没有的方式知道。