当前位置: 首页 > news >正文

bootstrap-table 怎么自定义搜索按钮实现点击按钮进行查询

bootstrap-table自带搜索框感觉有点丑,我们可以把搜索功能单独拉出来放到页面的某一个位置。

首先我们看一下官方演示:


如果你感觉集成的检索框不太好看,而且我们也不想让搜索框和列表放到一块去。那我们怎么来自定义一个属于自己的搜索框吧!
首先我们看看这段代码:
BootstrapTable.prototype.resetSearch = function (text) {
var $search = this.$toolbar.find('.search input');
$search.val(text || '');
this.onSearch({currentTarget: $search});
};
如果在表格toolbar里面是没问题的,因为它找到 search样式下面的一个输入框。
因为我们自己定义的肯定是没有这些属性的,也会找不到这个搜索class.

 

我们改成:
BootstrapTable.prototype.loadAddSearch = function (text) {
this.onCustomizeSearch(text);
};

我们直接在这个加载搜索条件的方法中加入需要查询的内容即可:

接着我们继续找到自带的搜索事件:
BootstrapTable.prototype.onSearch = function (event) {
var text = $.trim($(event.currentTarget).val());

// trim search input
if (this.options.trimOnSearch && $(event.currentTarget).val() !== text) {
$(event.currentTarget).val(text);
}

if (text === this.searchText) {
return;
}
this.searchText = text;
this.options.searchText = text;

this.options.pageNumber = 1;
this.initSearch();
this.updatePagination();
this.trigger('search', text);
};

我们把它改一下

BootstrapTable.prototype.onCustomizeSearch = function (text) {
this.searchText = text;
this.options.searchText = text;
this.options.pageNumber = 1;
this.initSearch();
this.updatePagination();
this.trigger('search', text);
};

然后我们在bootstrap默认方法中添加一下方法:
// BOOTSTRAP TABLE PLUGIN DEFINITION
// =======================

var allowedMethods = [
'getOptions',
'getSelections', 'getAllSelections', 'getData',
'load', 'append', 'prepend', 'remove', 'removeAll',
'insertRow', 'updateRow', 'updateCell', 'updateByUniqueId', 'removeByUniqueId',
'getRowByUniqueId', 'showRow', 'hideRow', 'getHiddenRows',
'mergeCells',
'checkAll', 'uncheckAll', 'checkInvert',
'check', 'uncheck',
'checkBy', 'uncheckBy',
'refresh',
'resetView',
'resetWidth',
'destroy',
'showLoading', 'hideLoading',
'showColumn', 'hideColumn', 'getHiddenColumns', 'getVisibleColumns',
'showAllColumns', 'hideAllColumns',
'filterBy',
'scrollTo',
'getScrollPosition',
'selectPage', 'prevPage', 'nextPage',
'togglePagination',
'toggleView',
'refreshOptions',
'loadAddSearch',
'resetSearch',
'expandRow', 'collapseRow', 'expandAllRows', 'collapseAllRows',
'updateFormatText'
];

然后保存文件即可

前端页面javascript
$(function () {
//查询搜索


$('#btnSearch').on('click', function () {
var keyvalue = $("#search-input").val();
$table.bootstrapTable("loadAddSearch", keyvalue);
});

});


页面文本框和按钮:
<input type="text" class="form-control" id="search-input" placeholder="检索 ..." style="height: 30px; margin-top: 20px; margin-left: 1px" size="40" />

<button title="查询" id="btnSearch" type="button" style="" class="btn btn-success onclickbtn">
<i class="fa fa-search onclickbtni" style=""></i>
</button>

最终在页面上展示:

参考地址:

Bootstrap中文网:http://www.bootcss.com/
Bootstrap Table Demo:http://issues.wenzhixin.net.cn/bootstrap-table/index.html
Bootstrap Table API:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
Bootstrap Table源码:https://github.com/wenzhixin/bootstrap-table
Bootstrap DataPicker:http://www.bootcss.com/p/bootstrap-datetimepicker/
Boostrap Table 扩展API:http://bootstrap-table.wenzhixin.net.cn/extensions/

转载于:https://www.cnblogs.com/angelasp/p/bootstrap-table.html

相关文章:

  • 新产品为了效果,做的比較炫,用了非常多的图片和JS,所曾经端的性能是非常大的问题,分篇记录前端性能优化的一些小经验。...
  • 百度地图坐标拾取
  • @RequestMapping-占位符映射
  • 夺命雷公狗TP3.2.3商城13-----无限极分类添加
  • 【征文】Hadoop十周年特别策划——我与Hadoop不得不说的故事
  • hdu 1671 Phone List
  • HDU 4607 树的直径
  • 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
  • Oracle日志查看
  • Oracle查询最近执行过的SQL语句
  • 统一设备模型(1)——bus、subsys_interface、class、class_interface分析
  • IIS7.5 错误代码0x8007007e HTTP 错误 500.19 - Internal Server Error
  • 竖排主菜单鼠标滑动角度判断显示子分类
  • [NOIP2015] 运输计划
  • 【搜索】POJ-3669 BFS
  • ES10 特性的完整指南
  • ES6 ...操作符
  • input实现文字超出省略号功能
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Java|序列化异常StreamCorruptedException的解决方法
  • Magento 1.x 中文订单打印乱码
  • MYSQL 的 IF 函数
  • Netty 4.1 源代码学习:线程模型
  • ng6--错误信息小结(持续更新)
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • node入门
  • PHP的Ev教程三(Periodic watcher)
  • Python爬虫--- 1.3 BS4库的解析器
  • python学习笔记-类对象的信息
  • Python学习之路13-记分
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Spring Cloud Feign的两种使用姿势
  • TCP拥塞控制
  • Vue.js源码(2):初探List Rendering
  • Vue2.0 实现互斥
  • 阿里研究院入选中国企业智库系统影响力榜
  • 编写高质量JavaScript代码之并发
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 马上搞懂 GeoJSON
  • 前端性能优化--懒加载和预加载
  • 协程
  • 一、python与pycharm的安装
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 在Unity中实现一个简单的消息管理器
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #stm32整理(一)flash读写
  • (1) caustics\
  • (1)(1.9) MSP (version 4.2)
  • (14)Hive调优——合并小文件
  • (4.10~4.16)
  • (5)STL算法之复制
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Matlab)使用竞争神经网络实现数据聚类