Bootstrap Search Suggest 官方说明文档如下:suggest说明文档
由于该文档没有详细说明怎么运用到实际的项目中,特别是怎么将数据库中的值显示到页面上,所以我再运用到项目中,遇到了很多的坑,为了大家更好使用该插件,也为了自己总结下所遇到的坑,特总结如下
一、项目框架
1.后台:spring+springmvc+mybatis
2.前台: bootstrap+jQuery+ajax
3.项目管理:maven
二、前台代码
1.html代码
<div class="content nav-version"> <table class="detail" style="margin-bottom:12px;"> <tr><td class="first-col"> <div class="row"> <div class="col-lg-12"> <div class="input-group" style="width: 100%; height: 17px; display: -webkit-box;"> <label style="margin-left: 13px;">用户名称:</label> <input id="userName" type="text" style="height: 22px;" /> <div class="input-group-btn"> <button type="button" class="btn btn-default dropdown-toggle"data-toggle="dropdown"> <span class="caret"></span> </button> <ul class="dropdown-menu dropdown-menu-right" role="menu"></ul> </div> </div> </div> </div> </td></tr> </table> </div>
2,js代码,主要有2个js文件,一个是autoLoad.js,一个是bootstrap-suggest.js,autoLoad.js文件主要用于配置属性,bootstrap-suggest.js是系统文件
autoLoad.js代码如下:
(function() { $("#userName").bsSuggest({ url: contextUrl +'/user/getuserName"userName", "shortAccount"], searchFields: [ "shortAccount"],*/ /* data: { userName: $("#userName").val() }, */ effectiveFieldsAlias:{userName: "分类名称名称"},//有效字段别名 allowNoKeyword: false, // 是否允许无关键字时请求数据 ignorecase: true,//忽略大小写 showHeader: false,//显示 header showBtn: false, //不显示下拉按钮 delayUntilKeyup: true, //获取数据的方式为 firstByUrl 时,延迟到有输入/获取到焦点时才请求数据 idField: "userName", keyField: "userName" }).on('onDataRequestSuccess', function (e, result) { console.log('onDataRequestSuccess: ', result); }).on('onSetSelectValue', function (e, keyword, data) { console.log('onSetSelectValue: ', keyword, data); }).on('onUnsetSelectValue', function () { console.log("onUnsetSelectValue"); }); }());
bootstrap-suggest.js,autoLoad.js 代码,由于代码太多,给出下载地址,主要修改了2个地方,一个是
var ajaxParam = { type: 'POST', dataType: options.jsonp "keyword":keyword}//添加data,用于post传递数据 };
另一个是,listStyle,添加了位置信息
listStyle: { 'position':'relative', 'margin-left':'-206px', 'margin-top':'26px', 'padding-top': 0, 'max-height': '375px', 'max-width': '800px', 'overflow': 'auto', 'width': 'auto', 'transition': '0.3s', '-webkit-transition': '0.3s', '-moz-transition': '0.3s', '-o-transition': '0.3s' },
三、controller层代码
@Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value="/getUserName",method = RequestMethod.POST) @ResponseBody public String getUserName(HttpServletRequest request,HttpServletResponse response){ String userName = request.getParameter("keyword"); String userNameList = userService.getUserName(userName); return userNameList; } }
四、service层和实现层代码
public interface UserService { String getUserName(String userName); }
/** * @author 李光光(编码小王子) * @Email 826331692@jd.com * @date 2016年12月19日 下午4:18:45 * @version 1.0 */ @Service public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Override public String getUserName(String userName) { String json="{\"message\": \"\",\"value\": ["; // if(!userName.isEmpty()){ List<String> list = userDao.getUserName(userName); if(list != null && !list.isEmpty()){ for(int i=0;i<list.size;i++){ json+="{"+"\"userName\":"+"\""+list.get(i)+"\"" +"},"; } json = json.substring(0,json.length()-1>0"],\"code\": 200,\"redirect\": \"\"}"; return json; }else{ json+="],\"code\": 400,\"redirect\": \"\"}"; return json; } } }
五、dao层代码
public interface UserDao { List<String> getUserName(@Param("userName")String userName); }
六mapper层代码
<"1.0" encoding="UTF-8" "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace=".....dao.UserDao" > <!--根据输入的用户名类名查询相似的用户名 --> <select id="getUserName" resultType="String"> select distinct userName from user_table where yn=1 <if test="userName != null and userName != ''">and userName like concat (#{userName},'%')</if> limit 0,10 </select> </mapper>
至此整个代码就完成了,效果如下
如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:
Bootstrap学习教程
Bootstrap实战教程
Bootstrap Table使用教程
Bootstrap插件使用教程
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]