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?d='+new Date().getTime(),
//d='+new Date().getTime()主要是为了让每次输入的值都及时加载,不用也行
/*effectiveFields: ["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 ? 'jsonp' : 'json',
timeout: 5000,
data:{"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?json.length()-1:1);
json+="],\"code\": 200,\"redirect\": \"\"}";
return json;
}else{
json+="],\"code\": 400,\"redirect\": \"\"}";
return json;
}
}
}
五、dao层代码
public interface UserDao {
List<String> getUserName(@Param("userName")String userName);
}
六mapper层代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//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插件使用教程
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Bootstrap
# Search
# Suggest
# JS控件bootstrap suggest plugin使用方法详解
# bootstrap suggest搜索建议插件使用详解
# Bootstrap select多选下拉框实现代码
# Bootstrap select实现下拉框多选效果
# BootStrap中关于Select下拉框选择触发事件及扩展
# BootStrap下拉框在firefox浏览器界面不友好的解决方案
# Bootstrap框架下下拉框select搜索功能
# Bootstrap模块dropdown实现下拉框响应
# 自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
# bootstrap suggest下拉框使用详解
# 文档
# 太多
# 下载地址
# 是怎么
# 点击这里
# 详细说明
# 我再
# 还想
# 项目管理
# 主要用于
# 时才
# 也行
# 时请
# 数据库中
# 大家多多
# 再为
# 是为了
# 完成了
# 加载
# 下午
相关文章:
文字头像制作网站推荐软件,醒图能自动配文字吗?
教程网站设计制作软件,怎么创建自己的一个网站?
如何快速搭建高效简练网站?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
如何高效利用200m空间完成建站?
,sp开头的版面叫什么?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
建站之星如何取消后台验证码生成?
建站ABC备案流程中有哪些关键注意事项?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
简单实现Android验证码
网站好制作吗知乎,网站开发好学吗?有什么技巧?
建站之星24小时客服电话如何获取?
宿州网站制作公司兴策,安徽省低保查询网站?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
建站主机空间推荐 高性价比配置与快速部署方案解析
网站制作价目表怎么做,珍爱网婚介费用多少?
韩国服务器如何优化跨境访问实现高效连接?
建站之星安装提示数据库无法连接如何解决?
XML的“混合内容”是什么 怎么用DTD或XSD定义
中山网站制作网页,中山新生登记系统登记流程?
c++怎么用jemalloc c++替换默认内存分配器【性能】
如何在香港服务器上快速搭建免备案网站?
如何用搬瓦工VPS快速搭建个人网站?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
,想在网上投简历,哪几个网站比较好?
非常酷的网站设计制作软件,酷培ai教育官方网站?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
完全自定义免费建站平台:主题模板在线生成一站式服务
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
nginx修改上传文件大小限制的方法
高性能网站服务器配置指南:安全稳定与高效建站核心方案
如何通过商城免费建站系统源码自定义网站主题?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
如何快速登录WAP自助建站平台?
高性价比服务器租赁——企业级配置与24小时运维服务
建站之星如何防范黑客攻击与数据泄露?
如何制作网站标识牌,动态网站如何制作(教程)?
如何高效完成自助建站业务培训?
如何快速辨别茅台真假?关键步骤解析
c# 在高并发场景下,委托和接口调用的性能对比
*请认真填写需求信息,我们会在24小时内与您取得联系。