我正在使用bootstrap绘制一个表,我需要搜索和过滤功能.但添加过滤功能后,搜索功能无法正常工作.当我删除行“”时,搜索功能起作用,但是过滤功能消失了,如何同时使用该功能?这是代码:
<div id="filter-bar"></div> <table id="tbl" data-height="299" data-show-toggle="true" data-show-columns="true" data-show-export="true" data-select-item-name="toolbar1"> <thead> <tr> <th data-field="id" data-align="right" data-sortable="true">Item ID</th> <th data-field="name" data-align="center" data-sortable="true">Item Name</th> <th data-field="price" data-align="" data-sortable="true">Item Price</th> </tr> </thead> </table> <link rel="stylesheet" href="/static/libs/bootstrap3/css/bootstrap.min.css"> <link rel="stylesheet" href="/static/libs/bootstrap3/css/bootstrap-theme.min.css"> <link rel="stylesheet" href="/static/libs/bootstrap-table-master/src/bootstrap-table.css"> <link rel="stylesheet" href="/static/libs/jasny-bootstrap/css/jasny-bootstrap.min.css"> <link rel="stylesheet" href="/static/libs/bootstrap-table-master/src/extensions/filter/bootstrap-table-filter.css"> <script type="text/javascript" src="/static/libs/jquery2/jquery-2.0.3.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> <script type="text/javascript" src="/static/libs/bootstrap-table-master/src/bootstrap-table.js"></script> <script type="text/javascript" src="/static/libs/bootstrap-table-master/src/extensions/filter/bootstrap-table-filter1.js"></script> <script type="text/javascript" src="/static/libs/bootstrap-table-master/src/extensions/filter/bootstrap-table-filter.js"></script> <script type="text/javascript" src="/static/libs/bootstrap-table-master/src/extensions/filter/bs-table.js"></script> <script type="text/javascript" src="/static/libs/bootstrap-table-master/src/extensions/export/bootstrap-table-export.js"></script> <script type="text/javascript" src="/static/libs/bootstrap-table-master/src/extensions/export/tableExport.js"></script> <script type="text/javascript" src="/static/libs/bootstrap-table-master/src/extensions/export/jquery.base64.js"></script> <script type="text/javascript"> $(document).ready(function () { $("#tbl").bootstrapTable({ url: "tbl_data.json",method: "get",showFilter: true,search: true,queryParams: function (p) { return{ device: 'iphone',mdate: '2014-12-13',}; } }); });
解决方法
$(document).ready(function () { (function ($) { $('#filter').keyup(function () { var rex = new RegExp($(this).val(),'i'); $('.searchable tr').hide(); $('.searchable tr').filter(function () { return rex.test($(this).text()); }).show(); }) }(jQuery)); });
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script> <link href="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> <div class="input-group"> <span class="input-group-addon">Filter</span> <input id="filter" type="text" class="form-control" placeholder="Type here..."> </div> <table class="table table-striped"> <thead> <tr> <th>Code</th> <th>Name</th> <th>Default</th> <th>Status</th> </tr> </thead> <tbody class="searchable"> <tr> <td>EUR</td> <td>EURO</td> <td></td> <td>Active</td> </tr> <tr> <td>GBP</td> <td>Pound</td> <td></td> <td>Active</td> </tr> <tr> <td>GEL</td> <td>Georgian Lari</td> <td><span class="glyphicon glyphicon-ok"></span> </td> <td>Active</td> </tr> <tr> <td>USD</td> <td>US Dollar</td> <td></td> <td>Active</td> </tr> </tbody> </table>
示例来自Here