Javascript 使用java自动完成jQuery而不是筛选结果
我正在使用jQuery自动完成。它没有过滤我的结果。当前,当您在文本字段中键入字母时,它将在自动完成中显示所有结果,而不按您键入的字母进行过滤。我在网上看到jQuery文档,它说source:string需要在服务器端进行过滤,但我不知道如何做到这一点。我也希望过滤结果显示地址,结果的邮政编码,但当你点击自动完成选项时,它应该只输入名字和姓氏。我如何做到这一点 这是我的控制器代码:Javascript 使用java自动完成jQuery而不是筛选结果,javascript,java,mysql,jakarta-ee,jquery-ui-autocomplete,Javascript,Java,Mysql,Jakarta Ee,Jquery Ui Autocomplete,我正在使用jQuery自动完成。它没有过滤我的结果。当前,当您在文本字段中键入字母时,它将在自动完成中显示所有结果,而不按您键入的字母进行过滤。我在网上看到jQuery文档,它说source:string需要在服务器端进行过滤,但我不知道如何做到这一点。我也希望过滤结果显示地址,结果的邮政编码,但当你点击自动完成选项时,它应该只输入名字和姓氏。我如何做到这一点 这是我的控制器代码: public class Con{ public Response execute(PageExext k
public class Con{
public Response execute(PageExext k) throws Exception {
TextResponse tr = k.createTextResponse();
r.setContentType("application/json");
try {
String term = etk.getParers().getSle("term");
String sqlJson = t.creaQL("Select c_first_name, c_last_name from t_cct").fetchJSON();
r.put("aadata", sqlJson);
}catch (Exception e ) {
e.printStackTrace();
}
return r;
}
}
以下是我的javascript自动完成功能:
function caseInete() {
jQuery(document).ready(function() {
jQuery(function() {
jQuery("#C, #Caey, #CaseIr, #Casorney").autocomplete({
// autoFocus: true,
// source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
source : function (request, response) {
jQuery.ajax({
url : "page.request.do?page=test",
type : "GET",
data : {
term : request.term
},
dataType : "json",
success : function(data) {
var dataArray = [];
for(var k = 0; k < data.length; k++) {
// Add items to array
dataArray.push(data[k].c_first_name + " " + data[k].c_last_name);
}
response(dataArray);
}
});
}
});
});
});
}
函数caseinet(){
jQuery(文档).ready(函数(){
jQuery(函数(){
jQuery(“#C,#Caey,#CaseIr,#Casorney”).autocomplete({
//自动对焦:对,
//来源:[“c++”、“java”、“php”、“coldfusion”、“javascript”、“asp”、“ruby”]
来源:功能(请求、响应){
jQuery.ajax({
url:“page.request.do?page=test”,
键入:“获取”,
数据:{
期限:request.term
},
数据类型:“json”,
成功:函数(数据){
var dataArray=[];
对于(var k=0;k
更改SQL查询以考虑您的术语并通过以下方式添加订单:
String sqlJson = etk.createSQL("Select c_first_name, c_last_name from t_contact where c_first_name like '%" + term + "%' order by c_first_name").fetchJSON();
您还应该使用与我的示例不同的准备好的语句。很抱歉,由于我的声誉,我不能写评论:(
如果您需要比firstname和lastname更多的数据,那么您必须编辑您的查询并在select子句中添加其他列。但是就像cheb1k4所说的,由于SQL注入,您必须至少使用一个准备好的语句。另外,您还使用JEE标记,因此可以使用JPA寻找一个持久性框架。但是当然,这取决于您的项目规模。这适用于筛选,但我想显示结果的地址和邮政编码,但当我单击结果时,它应该只输入名字和姓氏。我怎么做?我之所以这样做,是因为有时人们可能有两个相同的记录,但不同的广告要知道谁的地址是对的还是错的,唯一的方法是能够显示地址信息和姓名,但只能在点击结果时输入姓名。