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/

时间: 2024-10-25 14:47:38

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

Repeater中添加按钮,点击按钮获取某一行的数据

1.添加编辑按钮和删除按钮 <asp:Repeater ID="Repeater1" runat="server" onitemcommand="Repeater1_ItemCommand"> <ItemTemplate> <table width="100%" border="1" cellpadding="0" cellspacing="0&q

Js + Bootstrap Table + adminlte - 自定义formatter,在表格内添加箭头样式,调整列宽

var drawDataTable=function(chartId){ var dataList = [ { "criteria": "q>100", "count": "400 up", "cRatio": "10% up", "pRatio": "60% up" }, { "criteria": "50&l

重写listview,横向滑动出现删除按钮,点击按钮删除item

首先看一下效果图: 接下来看具体操作: 准备一个删除按钮的布局,新建button.xml文件,代码如下所示: <?xml version="1.0" encoding="utf-8"?> <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/btn" android:layout_width=&q

Android Alert Dialog解决点击按钮对话框不关闭的问题

Android alertDialog中左中右三个按钮,点击按钮的时候,即使没调用dismiss方法,系统也会默认的去调用,而把这个对话框被关闭掉,但是我们的一些实际需求,就需要保留这个对话框不动,例如输入校验码,密码之类的校验问题,如果用户输入错误,而关闭后弹出对话框,就很别扭了.这里有个方案可以解决这个问题,使得即使按钮事件发生了,也不会关闭对话框.核心思想是欺骗一下系统,在点击事件里,修改该对话框的显示状态为关闭,则系统就不会去关闭该对话框了.具体实现代码如下: /** @author s

bootstrap table 分页后,重新搜索的问题

前提: 自定义搜索且有分页功能,比如搜索产品名的功能. 现象:当搜索充气娃娃的时候返回100条记录,翻到第五页.  这时候搜索按摩棒,数据有200条,结果应该是第一页的记录,但是实际显示的还是第五页的结果.  也就是重新搜索后,pagenumber没有变. 按网上大部分说的:重新设置option就行了 $('#tableList').bootstrapTable({pageNumber:1,pageSize:10}); 以上是解决不了这个问题. 正确做法是 $("#table").bo

新的表格展示利器 Bootstrap Table Ⅱ

    上一篇文章介绍了Bootstrap Table的基本知识点和应用,本文针对上一篇文章中未解决的文件导出问题进行分析,同时介绍BootStrap Table的扩展功能,当行表格数据修改. 1.Bootstrap Bable 全部数据导出分析 在表格导出数据中,发现设置了分页参数,导出的数据仅为表格加载的分页参数数据,于是,针对这样的情况,通过设置分页参数的值,使表格可以加载更多的数据,可达到导出所有数据的功能需求.然而,在实际的实验中,发现此方案存在以下问题: 表格一次加载一千条数据时,网

Bootstrap Table急速完美搭建后台管理系统

Bootstrap Table是基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选.多选.排序.分页,以及编辑.导出.过滤(扩展)等等的功能:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/ 现在做的一个app管理以及后台配置系统,需要针对不同的城市作相应的定制化的配置,对一些后台数据也做一些展示和操作,所以每一个模块基本都会有表格的展现形式,这样做的好处就是直观方便操作.对于用什么t

bootstrap table使用总结

使用bootstrap table可以很方便的开发后台表格,对数据进行异步更新,编辑.下面就来介绍一下bootstrap table的详细使用方法: 因为之前在官网也找了很久的教程,源码感觉隐藏的比较隐秘,其他扩展功能也很难找到,其实都在:http://issues.wenzhixin.net.cn/bootstrap-table/index.html这里面,点击上面的tab可以找到具体的功能实现(特别是extension和issues,之前以为issues不是教程,结果点进去才知道): 最简单

ABP+AdminLTE+Bootstrap Table权限管理系统第十一节--bootstrap table之用户管理列表

这张开始bootstrap table,引入项目有两种方法,一种是直接去官网下载 地址:http://bootstrap-table.wenzhixin.net.cn/ 另一种是Nuget引入. 然后就是把js引用到项目中来,其实Bootstrap js 还有jQuery我们在模板页已经引进了,这里只需要引入bootstrap table相关的js以及中文包就可以了 <link href="~/Scripts/Content/bootstrap-table/bootstrap-table.