2013-10-21 2 views
0

jQuery의 자동 완성을 약간 사용자 정의했으며 change 이벤트 핸들러에 추가 한 함수를 호출하기 위해 입력에 액세스해야합니다. ui 매개 변수가 선택된 항목이지만 사용자가 임의의 텍스트를 입력 한 경우 아무 항목도 선택되지 않고 ui.item은 null입니다. 그래서 나는 ui.item에 DOM 기반을 가로 질러 사용할 수 없다.변경 이벤트의 자동 완성 입력에 액세스

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

이제 우리는 우리가 (간체) 않는 한 콤보를 구축 한 :

짧은에서

, 무슨 (이 프로젝트에 과거에 실제로 사람이) 우리가했던 것은 JQuery와 UI 파일을 수정입니다

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 요소에 위젯 메서드를 호출하는 방법입니다 알고있다.

관련 문제