如何在服务器端发送ajax调用,每次用户输入一些文本在jquery自动完成ajax插件
How to send ajax call on server side each time user enter some text in jquery autocomplete for ajax plugin
嗨,我使用http://www.devbridge.com/sourcery/components/jquery-autocomplete/自动完成框。我的情况是,每当用户输入3个字符或超过3个,那么它应该启动自动完成功能,每次搜索输入的文本在数据库中。我在js中像这样绑定函数
"功能bindAutoComplete ($ id) {
var as = $(document.getElementById($id)).autocompleteABC({
serviceUrl: "showCountries.json",
params: "data="+document.getElementById($id).value,
lookupFilter: function(suggestion, originalQuery,queryLowerCase) {
var re = new RegExp($.Autocomplete.utils.escapeRegExChars(queryLowerCase.trim()), 'gi');
re.toString().trim();
return re.test(suggestion.value.trim());
},
onSelect: function(suggestion) {
},
onInvalidateSelection: function() {
}
});
$(document).on('onkeypress', '#'+$id, function(){
as.setOptions({params:"data="+$(this).val()});
});
} '
无论何时加载页面,它都会在我需要的多个地方绑定这个自动完成功能。但问题是,它绑定ajax调用的url和数据发送作为参数在页面加载只有,我不能在运行时改变这个参数。
我需要每当用户在自动完成框中输入文本时,该文本应该到服务器端并在数据库中搜索该文本,我应该在UI上抛出结果。
如何绑定此函数或更改插件代码,以便每次用户输入超过3个字符,ajax调用应该在服务器端输入该文本
我不认为你使用插件是正确的,你做了这么多的手动处理,插件应该自动为你做。
- 你不需要在参数 中传递搜索字段的值
- 你不需要bindAutoComplete函数 你不需要onkeypress事件处理程序
为什么你叫autocompleteABC
而不是autocomplete
?
你的代码应该像这个例子一样简单:
var a = $('#query').autocomplete({
serviceUrl:'service/autocomplete.ashx',
minChars:3,
// callback function:
onSelect: function(value, data){ alert('You selected: ' + value + ', ' + data); }
});
其中#query
是输入字段的id,您在其中键入搜索和serviceUrl是您的服务器端脚本处理请求并返回匹配
相关文章:
- 在FrontEndphp-ajax-jquery中验证reCaptcha-google
- AJAX jquery json将数组发送到php
- 如何使用Ajax/jQuery设置cookie
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- 如何使用Ajax JQuery.ech()获取JSON值
- 使用springform时,如何在ajax/jquery中获取复选框值
- JSP AJAX jQuery填充表问题
- Piping Value: Ajax + JQuery
- 使用javascript Without Ajax/Jquery在特定行中启用文本框
- 在AJAX jQuery加载()之后运行jQuery代码
- 具有动态更新的实时标题 (AJAX+jQuery)
- ajax/jQuery Youtube 播放列表推送
- AJAX jQuery Avatar Uploading
- 全局变量 - AJAX jQuery
- Ajax jquery mysqli update
- 获取剩余时间和上传文件速度 - ajax jquery/js
- 使用ajax/jquery绑定Json数据
- TypeError Obj.root是未定义的ajax jquery
- 当数据类型为XML时,如何将url参数传递给AJAX jquery
- 在ajax Jquery之后无法获取隐藏字段的值