easyui-combobox 实现简单的自动补全功能

前台:

Html页面

<input id="clsydw" name="clsydw" class="easyui-combobox"  data-options="" />

JS

//自动补全功能
    $("#clsydw").combobox({
    	
    	valueField:'syr',
		textField:'syr',
		panelWidth:200,
		panelHeight:'auto',
    	onChange:function(values,o)
    	{
    		if(values!="")
    		{
    			var url='${localCtx }/workloadpmtreport/querysyr.do?syr='+values.trim();
    			$("#clsydw").combobox("reload",url);
    		}
    	}
    })

后台部分才是重点,因为在接受syr参数的时候,是乱码,这里使用各种解码都不行,只有使用以下解码方式(可能有更好的方法,目前没发现)


    /** 根据单位名称自动补全单位全称
	 * @param req
	 * @return
	 */
	@RequestMapping(value="querysyr.do")
	@ResponseBody
	public List<Veh_Hy> queryListsyr(HttpServletRequest req)
	{
		String syr="";
		try {
			 syr=new String(new String(req.getParameter("syr").getBytes("iso-8859-1"),"UTF-8"));
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		syr=(syr!="")?'%'+syr.trim()+'%':"";
		return vehhyMapper.getListBySyr(syr);
	}

  

原文地址:https://www.cnblogs.com/it888/p/5149607.html