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

发布于 2025-01-02 00:18:12 字数 819 浏览 0 评论 0原文

我想使用带有 2 个控件的 jquery ui 自动完成插件,所以我有这个:

    $("#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 参数不起作用,如何我可以以不需要为每个控件重复自动完成代码的方式来执行此操作吗?

谢谢!

I want to use the jquery ui autocomplete plugin with 2 controls, so I have this:

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

The problem is that the url param where I use $(this).val() to get the text in the current textbox doesn't work, how can I do this in a way that I won't need to duplicate the autocomplete code for each control?

thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏了南城 2025-01-09 00:18:12

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

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

You can use this.term to get the search term that is to be used. You might also want to wrap this in encodeURIComponent() i.e.

url: "http://example.com/search/" + encodeURIComponent(this.term),
... // etc.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文