jQuery实现自动搜索功能

一、页面上:

1.导入所需的js文件:

<script type="text/javascript" src="<c:url value='/js/jquery.js' />"></script>

<script type="text/javascript" src="<c:url value='/js/j.suggest.js' />"></script>
<script type="text/javascript" src="<c:url value='/js/j.dimensions.js' />"></script>
<script type="text/javascript" src="<c:url value='/js/unicodes.js' />"></script>

 2.提示框的样式:

<style type="text/css">
body {
 font-size: 12px;
}

#suggest {
 width: 200px;
}

.ac_results {
 background: #fff;
 border: 1px solid #7f9db9;
 position: absolute;
 z-index: 10000;
 display: none;
}

.ac_results ul {
 margin: 0;
 padding: 0;
 list-style: none;
}

.ac_results li a {
 white-space: nowrap;
 text-decoration: none;
 display: block;
 color: #05a;
 padding: 1px 3px;
}

.ac_results li {
 border: 1px solid #fff;
}

.ac_over,.ac_results li a:hover {
 background: #c8e3fc;
}

.ac_results li a span {
 float: right;
}

.ac_result_tip {
 border-bottom: 1px dashed #666;
 padding: 3px;
}
</style>

3.jQuery请求获取数据:

   $(function(){

         $.post("<c:url value='/staffManage/staffInfo!toGetName.do' />",{},function(data,textStatus){
              var getN=data.split(",");     
              var allName=new Array();   
              for(var j=0;j<getN.length;j++){ 
                  if(j!=(getN.length-1)){           
                           allName[j]=new Array('',getN[j],getPY_str(getN[j]),'');
                   }      
               } 
            $("#name").suggest(allName,{hot_list:allName,attachObject:"#suggest2"});     
       }); 

   })

4.需要显示自动搜索的文本:

<input type="text" id="name"  name="name" value="${name }" size="20" />

<div id='suggest' class="ac_results"></div>

 

二、后台获取数据的方法(struts2)

public class StaffInfoAction extends BaseAction {

public String toGetName() {
  try {
   String getNa = "";
   List<String> na = this.commonService
     .find("select distinct name from Tablestaff where department!='注销' order by name asc");
   for (int i = 0; i < na.size(); i++) {
    if (na.get(i) != null && !"".equals(na.get(i))) {
     getNa += na.get(i) + ",";
    }
   }
   PrintWriter out = getResponse().getWriter();
   out.write(getNa);
   out.flush();
   out.close();

  } catch (Exception e) {
   // TODO: handle exception
  }
  return null;
 }

}

 

        这是项目中一个例子,用的时候把路径、查询语句那些报错的地方改下就ok啦!

       

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值