2014-03-25 167 views
0
$(function() { 
    $(window).scroll(doSomething); 
    $(window).resize(doSomething); 
}); 

function doSomething() 
{ 
    var autocomplete = $(".ui-autocomplete:visible"); 
    // How can I get input DOM element of currently shown autocomplete there? 
} 

如何獲取當前顯示的自動完成的輸入DOM元素(如果我處於自動完成聲明的範圍之外)?獲取jquery自動完成輸入

+0

我認爲jQuery的自動完成功能類是類似的用戶界面,自動完成輸入 – 111

+0

我不能使用UI的自動完成輸入級,因爲有 – Andrei

+0

在頁面上很多這樣的投入你的意思是當前突出顯示選項還是輸入字段本身? – phpcoderx

回答

0

我的解決辦法:

var currentAutocompleteTextbox = null; //global variable 

$(textbox).focus(function() { currentAutocompleteTextbox = textbox; }); 
$(textbox).autocomplete({ ... }); 

任何人都可以提出一個更好的辦法?

0

你的目標不明確。 如果你只想得到最後一次交互的自動完成文本框,最好的辦法就是使用其中一個自動完成插件事件。以下是使用焦點事件的示例代碼。回調函數將以相應的輸入文本框作爲上下文執行;因此this會指向文本框。

$(".language").autocomplete({ 
     source: availableTags, 
     focus: function(evt, ui){ 
      var txtbx = $(this).parent().prev().text(); 
      $('#result').html(txtbx + ' textbox last focused'); 
     } 
    }); 

Fiddle