首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动补全jquery struts 2

自动补全jquery struts 2
EN

Stack Overflow用户
提问于 2012-05-30 17:29:12
回答 1查看 1.4K关注 0票数 0

我在使用自动完成jquery工具时遇到问题。

客户端:

代码语言:javascript
复制
JQElement.autocomplete({
   source:  function (request, response) {
        $.ajax({
            url: jsonAction,
            dataType: "json",
            data: {
                maxRows: 10,
                startsWith: request.term
            },
            success: function( data ) {
                response( $.map( data , function( item ) {
                        return {
                                label: item.label,
                                value: item.value
                        }
                }));
                //response(data);
            },
            error: function(message, status, errorThrown) {
                alert("une erreur s'est produit lors de la recherche des éléments correspondant à la saisie. Contacter les créateurs du programme");
            }
        });
    },
    minLength: 1
 });

该操作称为:

代码语言:javascript
复制
public String getInsuredNumbers() {
    try {
        String maxRows = request.getParameter("maxRows");
        String startsWith = request.getParameter("startsWith");

        if(maxRows.equals("")) maxRows = "10";
        if(startsWith.equals("")) startsWith = "17";

        String sql = "select assure.ASS_nni, assure.ASS_nom, assure.ASS_prenom from assure where "
                + "assure.ASS_nni like '" + startsWith + "%' limit " + maxRows;
        ResultSet rs = this.getResponse(sql);

        while(rs.next()) {
            Param p = new Param(rs.getString(1), rs.getString(1) + " " + rs.getString(2) + " " + rs.getString(3));
            data.add(p);
        }


    } catch (SQLException ex) {
        Logger.getLogger(AutocompleteAction.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        return SUCCESS;
    }
}

public List<Param> getData() {
    return data;
}

data是参数的ArrayList

代码语言:javascript
复制
public class Param {
  private String value;
  private String label;

  public Param(String value, String label) {
    this.value = value;
    this.label = label;
  }

  public String getLabel() {
    return label;
  }

  public String getValue() {
    return value;
  }

}

Firebug向我展示了json答案是正确的成功答案是在客户端触发的

但是,输入下的列表似乎是空的

你能帮上忙吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-30 19:21:36

解决方案

在客户端:

代码语言:javascript
复制
JQElement.autocomplete({
   source:  function (request, response) {
        $.ajax({
            url: jsonAction,
            dataType: "json",
            data: {
                maxRows: 10,
                startsWith: request.term
            },
            success: function( data ) {
                var mydata;

                $.map(data, function(item, i) {
                    if(i == "data") {
                        mydata = item;
                    }
                });

                response( $.map( mydata , function( item) {
                        return {
                            label: item.label,
                            value: item.value
                        }
                }));
            },
            error: function(message, status, errorThrown) {
                alert("une erreur s'est produit lors de la recherche des éléments correspondant à la saisie. Contacter les créateurs du programme");
            }
        });
    },
    minLength: 1,
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10813530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档