javascript - jQuery自动完成与java不过滤结果

标签 javascript java mysql jakarta-ee jquery-ui-autocomplete

我正在使用 jQuery 自动完成。它没有过滤我的结果。目前,当您在文本字段中输入字母时,它会自动显示所有结果,而不会根据您输入的字母进行过滤。我在网上看到了 jQuery 文档,它说 source: string 需要在服务器端进行过滤,但我不知道该怎么做。我还希望过滤结果显示结果的地址、邮政编码,但是当您单击自动完成选项时,它应该只输入名字和姓氏。我该如何实现这个目标。

这是我的 Controller 代码:

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);

                        }
                    });
                }

            });
        });
    });

}    

最佳答案

更改您的 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();

与我的示例不同,您还应该使用准备好的语句。

关于javascript - jQuery自动完成与java不过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36314118/

相关文章:

java - 如何构造 org.jooq.Result 进行单元测试

php - 使用 PHP/MySQL 进行搜索过滤

mysql - 如何使用基于列的增量值更新记录

javascript - 如何在提交之前在表单中执行字符串拆分?

javascript - 如何在 $scope AngularJS 中声明对象

javascript - 将参数传递给回调函数

java - 将加速度计数据插入数组

java - Buttom "Save"保存空白 Canvas

php - 尝试使用 PHP 将 MySQL 查询导出为 CSV

Javascript Http 获取请求错误 : NS_ERROR_FAILURE