JQuery 基于返回主字段的两个数据库字段自动完成
JQuery autocomplate based on two database fields returning the primary one
我有包含字段 name
和 alias
的数据库,我希望自动完成检查这两个字段,而不是 return name
字段的匹配项。到目前为止,我设法让自动完成功能查找 name
字段。这是代码:
$( "#search" ).autocomplete({
source: function(request, response) {
$.ajax({
url: "http://example.com/ajax/auto",
data: {
term : request.term
},
dataType: "json",
success: function(data){
var resp = $.map(data,function(obj){
return obj.name;
});
response(resp);
}
});
},
minLength: 1,
open: function() {
var position = $("#ui-id-1").position();
var left = position.left;
var top = position.top;
$("#ui-id-1").css({top: top - 35 + "px" });
}
});
问题是如何在代码中实现 alias
字段,以便它可以 return name
在 alias
中找到匹配项。
这就是 http://example.com/ajax/auto
服务器:
{"id":1,"name":"NewYear","alias":"New Year","created_at":"2019-10-30 10:10:18"}
你应该在后端传递这两个字段,并在后端检查 or 条件。
在前端侧代码:
$( "#search" ).autocomplete({
source: function(request, response) {
$.ajax({
url: "http://example.com/ajax/auto",
data: {
name: request.name,
alias: request.alias
},
type: 'post',
dataType: "json",
success: function(data){
//your code
}
});
},
});
并且如果它是 return 任何数据库查询那么它可能像:
select name from table where name = name_param or alias = alias_param;
我有包含字段 name
和 alias
的数据库,我希望自动完成检查这两个字段,而不是 return name
字段的匹配项。到目前为止,我设法让自动完成功能查找 name
字段。这是代码:
$( "#search" ).autocomplete({
source: function(request, response) {
$.ajax({
url: "http://example.com/ajax/auto",
data: {
term : request.term
},
dataType: "json",
success: function(data){
var resp = $.map(data,function(obj){
return obj.name;
});
response(resp);
}
});
},
minLength: 1,
open: function() {
var position = $("#ui-id-1").position();
var left = position.left;
var top = position.top;
$("#ui-id-1").css({top: top - 35 + "px" });
}
});
问题是如何在代码中实现 alias
字段,以便它可以 return name
在 alias
中找到匹配项。
这就是 http://example.com/ajax/auto
服务器:
{"id":1,"name":"NewYear","alias":"New Year","created_at":"2019-10-30 10:10:18"}
你应该在后端传递这两个字段,并在后端检查 or 条件。
在前端侧代码:
$( "#search" ).autocomplete({
source: function(request, response) {
$.ajax({
url: "http://example.com/ajax/auto",
data: {
name: request.name,
alias: request.alias
},
type: 'post',
dataType: "json",
success: function(data){
//your code
}
});
},
});
并且如果它是 return 任何数据库查询那么它可能像:
select name from table where name = name_param or alias = alias_param;