Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取对jquery自动完成中调用对象的引用_Javascript_Jquery Ui - Fatal编程技术网

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

Javascript 获取对jquery自动完成中调用对象的引用,javascript,jquery-ui,Javascript,Jquery Ui,我想使用带有2个控件的jquery ui autocomplete插件,因此我有: $("#From, #To").autocomplete({ source: function (request, response) { $.ajax({ url: "http://example.com/search/" + $(this).val(), dataType: "jsonp",

我想使用带有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参数不起作用,我如何做到不需要为每个控件复制自动完成代码


谢谢

您可以使用
this.term
获取要使用的搜索词。您可能还希望将其包装在
encodeURIComponent()
中,即

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

乍一看,这看起来还可以,在它上面放一个断点,然后运行
$(this).attr(“id”)
来验证
这个
是否指向了正确的对象。在这种情况下
这个
指的是jQuery UI小部件,即
自动完成
实例。
term
属性仅由
autocomplete
小部件在内部设置,用于保存搜索项以过滤自动完成选项。我刚刚做了一个
console.log(这个)success
函数中找到它:-)