在jquery自动完成中获取对调用对象的引用

时间:2012-02-02 13:38:15

标签: javascript jquery-ui

我想使用带有2个控件的jquery ui autocomplete插件,所以我有这个:

    $("#From, #To").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "http://example.com/search/" + $(this).val(),
                dataType: "jsonp",
                data: {
                    featureClass: "P"
                },
                success: function (data) {
                    response($.map(data.autocomplete, function (item) {
                        return {
                            label: item.name + " (" + item.id + ")",
                            value: item.id
                        }
                    }));
                }
            });
        }
    });

问题是我使用$(this).val()来获取当前文本框中的文本的url param不起作用,我怎么能以不需要复制的方式执行此操作每个控件的自动完成代码?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用this.term来获取要使用的搜索字词。您可能还想将其包含在encodeURIComponent()

url: "http://example.com/search/" + encodeURIComponent(this.term),
... // etc.