2011-06-05 60 views
1

我試圖發送額外的參數與jqueryUI的自動完成使用抽象的方法。正在使用的HTML的一個精簡版是:在jquery ui自動完成中訪問相對元素?

<form id='employees'> 
    <input class='autocomplete' name='id_number' /> 
</form> 

我需要的是能夠找到父相對於任何自動完成輸入的ID(因爲可能有多個在一個頁面上)。我到目前爲止的代碼是:

$(".autocomplete").autocomplete({ 
     source: function(request, response) { 
      $.ajax({ 
       url: "search.php", 
       data: { 
        form_id: // need help! 
        string: request.term 
       }, 
       success: function(data) { 
        // do stuff 
       } 
      }); 
     } 
    }); 

所以我需要發送的form_id是:

$(this).parent().attr('id') 

但問題是,當使用$(這)內使用一次$ .ajax調用中的源代碼函數失去了對原始元素的引用,並且在之前我沒有看到任何可以創建引用原始元素的變量的點。

如何獲取要作爲參數發送的父代的ID?

感謝您的幫助!

回答

0

爲什麼你不喜歡下面的代碼?它可以給你一個想法...

$(".autocomplete").each(function() { 
    var ac = $(this); 
    var parentId = $(this).parent().attr('id');  
    ac.autocomplete({ 
     minLength: 3, 
     source: function(request, response) { 
      findSuggestions(request, response, 'artist', artist_cache, parentId); 
     } 
    }); 
}); 
+0

有趣的'嵌入式'方法我沒有考慮 - 也作品!謝謝你,先生。 – thepinnyg 2011-06-05 23:59:36