Bootstrap表格添加搜索栏

在学习了表格的分页后,本文尝试在表格顶部加入搜索栏,用来筛选表格的数据,先看一下效果:

未进行搜索时,有394条记录:

在输入乘车码“1”和订单号“20150120”后,只有28条记录:

此处使用了两个筛选条件:乘车码和订单号进行了模糊查询,从而大大减少了表格的记录数,以达到搜索的目的。

HTML页面代码如下:

<div id="toolbar">
    <div class="my-container">
        <label class="myLabel-content">乘车码:</label>
        <div class="myText-content">
            <input id="busNo" type="text" class="form-control" placeholder="输入乘车码">
        </div>
    </div>
    <div class="my-container">
        <label class="myLabel-content">订单号:</label>
        <div class="myText-content">
            <input id="orderId" type="text" class="form-control" placeholder="输入订单号">
        </div>
    </div>
    <div class="myBtn-content">
        <button id="search" type="button" class="btn btn-primary">搜索</button>
        <button id="reset" type="button" class="btn btn-default">重置</button>
    </div>
</div>
<table id="testTable" data-toggle="table" data-height="530"
       data-striped="true" data-classes="table table-hover" data-toolbar="#toolbar"
       data-side-pagination="server" data-pagination="true" data-page-list="[10,20,50,100]">
    <thead>
        <tr>
            <th class="col-md-3" data-field="BusNo" data-align="center">乘车码</th>
            <th class="col-md-5" data-field="OrderId" data-align="center">订单号</th>
            <th class="col-md-4" data-field="OrderDate" data-align="center" data-formatter="FormatDateTime">订单日期</th>
        </tr>
    </thead>
</table>

可以注意到:在table中并没有URL,因为在查询的过程中参数可以是变化的,会在JavaScript中对URL做动态的绑定。JavaScript代码如下:

$(function () {
            $(‘#testTable‘).bootstrapTable(‘refresh‘, { url: ‘/Home/GetPaginationData2‘ });
            $(‘#search‘).click(function () {
                var busNo = $(‘#busNo‘).val();
                var orderId = $(‘#orderId‘).val();
                $(‘#testTable‘).bootstrapTable(‘refresh‘, { url: ‘/Home/GetPaginationData2?orderId=‘ + orderId + ‘&busNo=‘ +busNo });
            });
            $(‘#reset‘).click(function() {
                $(‘#busNo‘).val(‘‘);
                $(‘#orderId‘).val(‘‘);
                $(‘#testTable‘).bootstrapTable(‘refresh‘, { url: ‘/Home/GetPaginationData2‘ });
            });
        });

其中三个函数对表格的URL进行了设定:

  1. 初始化页面时;

  2. 点击“搜索”按钮,对URL添加了两个参数:“orderId”和“busNo”,稍后在后台代码中会对这两个参数进行处理;

  3. 点击“重置”按钮,将清空查询条件,重新查询表格数据。

后台代码如下:

public JsonResult GetPaginationData2(string orderId, string busNo)
        {
            var offset = Request.Params["offset"] == null ? 0 : int.Parse(Request.Params["offset"]);
            var limit = Request.Params["limit"] == null ? 10 : int.Parse(Request.Params["limit"]);

            using (var context = new TestEntities())
            {
                int count;
                var q = (from a in context.Tickets
                    join b in context.Order on a.OrderId equals b.Id
                    select new
                    {
                        BusNo = a.BusNumber,
                        OrderId = b.Id,
                        OrderDate = b.OrderDateTime,
                    }).Where(
                        t => (string.IsNullOrEmpty(orderId) || t.OrderId.Contains(orderId)) &&
                            (string.IsNullOrEmpty(busNo) || t.BusNo.Contains(busNo)))
                    .Distinct()
                    .Pagination(offset, limit, out count);
                var data = q.ToList();
                return Json(new {rows = data, total = count}, JsonRequestBehavior.AllowGet);
            }
        }

下面是程序中会引用的CSS样式,供参考:

.my-container {
    float: left;
    display: inline-block;
    margin-right:30px;
}

.myLabel-content ,.myText-content,.myBtn-content{
    float: left;
    display: inline-block;
    margin-left: 10px;
}
.myLabel-content,.myText-content input[type=‘text‘],.myBtn-content .btn {
    height: 30px;
    font-size: 12px;
}
.myBtn-content .btn {
    margin-bottom: 10px;
}

时间: 2024-11-04 11:46:08

Bootstrap表格添加搜索栏的相关文章

bootstrap表格添加按钮、模态框实现

bootstrap表格添加按钮.模态框实现 原创 2017年07月20日 17:35:48 标签: bootstrap 1723 bootstrap表格添加按钮.模态框实现 - 需求: 需要表格后面每一列后面都有"添加""删除"按钮.如下图 - 源码如下 <script> function operateFormatter(value, row, index) { return [ '<button type="button"

吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:为任意 &lt;table&gt; 添加基本样式 (只有横向分隔线)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet

Bootstrap表格

一.Bootstrap表格简介: 表格是Bootstrap的一个基础组件之一,Bootstrap为表格提供了1种基础样式和4种附加样式以及1个支持响应式的表格. ?  .table:基础表格 ?  .table-striped:斑马线表格 ?  .table-bordered:带边框的表格 ?  .table-hover:鼠标悬停高亮的表格 ?  .table-condensed:紧凑型表格 ?  .table-responsive:响应式表格 在使用Bootstrap的表格过程中,只需要添加对

Bootstrap 表格

Bootstrap提供了一个清晰的创建表格的布局 <table>标签:为表格添加基础的样式. <thead>标签:表格标题行的容器元素(<tr>),用来标识表格列. <tbody>标签:表格主题中的表格行的容器元素(<tr>). <tfood>标签:表格底部中的表格行的容器元素(<tr>). <tr>标签 :一组出现在单行上的表格单元格的容器元素(<td> 或 <th>). <td

Bootstrap 表格 笔记

Bootstrap 表格 Bootstrap 提供了一个清晰的创建表格的布局.下表列出了 Bootstrap 支持的一些表格元素: 标签 描述 <table> 为表格添加基础样式. <thead> 表格标题行的容器元素(<tr>),用来标识表格列. <tbody> 表格主体中的表格行的容器元素(<tr>). <tr> 一组出现在单行上的表格单元格的容器元素(<td> 或 <th>). <td> 默认

【原创】bootstrap框架的学习 第七课 -[bootstrap表格]

Bootstrap 表格 标签 描述 <table> 为表格添加基础样式. <thead> 表格标题行的容器元素(<tr>),用来标识表格列. <tbody> 表格主体中的表格行的容器元素(<tr>). <tr> 一组出现在单行上的表格单元格的容器元素(<td> 或 <th>). <td> 默认的表格单元格. <th> 特殊的表格单元格,用来标识列或行(取决于范围和位置).必须在 <

Bootstrap表格元素处理

Bootstrap提供了一种基础.table样式.4种附加样式以及一个支持响应式布局的.table.responsive容器样式 下面是HTML模板 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 <link href="\Bootstrap-di

Java单体应用 - 常用框架 - 01.Bootstrap - 表格

原文地址:http://www.work100.net/training/monolithic-frameworks-bootstrap-table.html 更多教程:光束云 - 免费课程 表格 序号 文内章节 视频 1 概述 - 2 表格类 - 3 表格元素类 - 4 基本的表格 - 请参照如上章节导航进行阅读 1.概述 Bootstrap 提供了一个清晰的创建表格的布局.下表列出了 Bootstrap 支持的一些表格元素: 标签 描述 <table> 为表格添加基础样式 <thea

jQuery动态生成Bootstrap表格

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getS