jquey自动补全(包含java代码)

首先低调的来个建议:送给做大项目的猿媛们。一般大公司大项目都比较老了,大家主要看看设计,个人建议在新功能的细节上尽量有些创意。也正是这样的想法才有了杨小一这个实现。废话不多说,上代码。

jquery.autocomplete.css
jquery.autocomplete.min.js
jquery-1.4.2.min.js
这三个文件有很多,网上有很多大家自己找。


jsp文件如下:

     
     
 
 
 

 
 
        $(function() {//kh_name即需要自动补全的字段的id 可根据自己实际情况自由改变
        $('#kh_name').autocomplete("saveProduct.do", {//此处根据自己需要填写url
            max: 7,    //列表里的条目数
            minChars: 1,    //自动完成激活之前填入的最小字符从0开始,若填写0双击即激活
            width: 300,     //提示的宽度,溢出隐藏
            scrollHeight: 300,   //提示的高度,溢出显示滚动条
            matchContains: true,    //包含匹配,就是data参数里的数据,是否只要包含文本框里的数据就显示
            mustMatch:true,
            autoFill: false,    //自动填充
            formatItem: function(row) {//需要显示的结果  row为每一行的数组
                   return row[0];// row数组下标根据java代码部分自己调整
                  }
        }).result(function(event, row, formatted) {
                    $("#kh_no").val(row[1]);//给客户编号赋值,row数组下标根据java代码部分自己调整         
    });
        });
  
     jsp 只能截图了,要不新浪自动编译,程序员,我们懂得:

    jquey自动补全(包含java代码)

java文件截图是为了大家先有个清楚的看见,这里还有一个地方涉及到乱码的处理。本想分开写,还是偷个懒吧。大过年的,不好意思啊!代码贴到下面了。对了,jsp的案例是测试用的,java案例是实际开发使用的。但是我相信聪明的媛猿们一定能整合好,非常容易了。记住,乱码问题处理后台。是response 网上很多事request.估计是大侠们的笔误,不过浪费了不少时间。
jquey自动补全(包含java代码)

代码:

js 表单对应的后台:

public String complete() throws Exception {
  System.out.println("---------已经进入Complete--------");
  setUserInfo();
  PrintWriter out =  null;// super.getResponse().getWriter();
        try
        {
           System.out.println("已经进入struts 可以进行自动补全的代码实现");
        //PrintWriter out=this.getResponse().getWriter();
        
        //String kh_name = request.getAttribute("kh_name").toString();
        String  mname =  super.getRequest().getParameter("q").toString();//必须是jquery 自定义 可以查看http 头文件
        
        //String mnameUtf = new String(mname.getBytes("iso-8859-1"),"utf-8");
        System.out.println(mname+"===UTF");
        object_base.setMname(mname);
        List list = matterBaseInfoService.getBaseInfoByMName(object_base);
        String str = null ;
        //if(list.size()!=0){
            //模糊查询,得到
        for(MatterBaseInfo object_base :list){
            String stockId = object_base.getId()+"-"+object_main.getCityId();
            super.getResponse().setCharacterEncoding("UTF-8");  //这里不设置编码会有乱码
            super.getResponse().setContentType("text/html;charset=utf-8");
            super.getResponse().setHeader("Charset","UTF-8"); 
                // jquery按  | 将str分成数组
            str=object_base.getMname()+"|"+object_base.getClassOneName()+"|"+object_base.getClassTwoName()+"|"+object_base.getClassThreeName()+"|"+object_base.getUnit()+"|"+stockId+"|"+object_base.getId();
            out= super.getResponse().getWriter();//改代码一定要放到 super.getResponse().setCharacterEncoding("UTF-8"); 代码的后面
            out.println(str);//用println 会自动加 \n  jquery用它区分每一行
        }
        }
        catch (Exception e)
        {
           StringWriter sw = new StringWriter();
           e.printStackTrace(new PrintWriter(sw));
           System.out.println("complete()="+sw.getBuffer().toString());
        }finally{
          out.flush();
    out.close();
        }
        return null;
 }
     
       
      
      
     
     

 
 


             
                       
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值