访问jquery ui中的相关元素自动完成



我正试图使用抽象方法通过jqueryUI的自动完成发送额外的参数。正在使用的html的精简版本是:

<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调用的源函数中使用$(this)一次会丢失对原始元素的引用,在此之前,我看不出有任何意义可以创建一个引用原始元素的变量。

如何获取要作为参数发送的父对象的id?

谢谢你的帮助!

为什么不喜欢下面的代码?它可以给你一个想法。。。

$(".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);
        }
    });
});

相关内容

  • 没有找到相关文章

最新更新