2013-10-21 81 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元素控件的方法,這是我沒有的方式知道。