2015-04-04 41 views
4

我正在使用自動完成多個輸入文本元素,我想根據觸發事件的元素從不同的函數獲取數據,因爲我正在將文本元素的數據屬性中的Web服務鏈接傳遞。我不想在頁面中寫入不同的自動完成3次。獲取觸發jQuery-Ui自動填充小部件的元素?

HTML: -

<input class="autocomplete" name="firstname" link='getfirstname'/> 
<input class="autocomplete" name="middlename" link='getmiddlename'/> 
<input class="autocomplete" name="lastname" 
link='getlastname'/> 

jQuery的: -

$('.autocomplete').autocomplete({ 
    source: function (request, response) { 
     jQuery.get($(this).data('link'), { 
       typedValue: request.term 
      }, function (data) { 
       response(data); 
      }, 'json'); 
     }, 
     minLength: 1 
}) 

Demo

我審閱How to get the input element triggering the jQuery autocomplete widget?但無濟於事。

回答

2

,而不是$(本)。數據需要使用$(this.element)。數據 JSFiddle

$('.autocomplete').autocomplete({ 
    source:function(request, callback){ 
     console.log($(this.element).data("link")); 
     jQuery.get($(this.element).data('link'), { 
       typedValue: request.term 
      }, function (data) { 
       response(data); 
      }, 'json'); 
    }, 
    select: function(event, ui) { 
     console.log(event.target.name); 
     console.log($(this).prop('name')); 
     console.log($(event.target).data("link")); 
    } 
}) 
相關問題