如何更改jQuery自动完成插件默认查询字符串键? (我要的那个词)
jQuery autocomplete插件发送了这样的请求
mysite.com/suggestion?term=Sadegh
有没有办法将术语查询字符串更改为另一个? 我找不到为我提供此选项的选项;)
我假设您正在使用jQuery UI AutoComplete
您需要提供回调作为源,如下所示:
$(...).autocomplete({ source: function(term, callback) { $.getJSON("url", { foo: term }, callback); } });
以上内容对于当前版本(1.8.6)不正确。 不知道是不是……
$(...).autocomplete({ source: function(request, response) { $.getJSON("url", { foo: request.term }, response); } });
foo:成为新的param键名..
实际上我挖出了插件使用的代码。 调整它以改变术语将是这样的:
$('#form').autocomplete({ source: (function() { var xhr; return function(request, response) { if (xhr) { xhr.abort(); } xhr = $.ajax({ url: 'mysite.com/suggestion', data: { foo: request.term }, dataType: 'json', success: function(data) { response(data); }, error: function() { response([]); } }); } })() });
我想说这有两个好处:
- 中止待处理的请求
- 如果出现错误,请使用空集调用响应,这对我来说似乎更有礼貌