jQuery DataTables添加自定义多个搜索条件
效果如下:

一、在前台页面定义输入搜索条件的文本框
<div class="ibox-tools">
<span>年度</span>
@Html.DropDownList("year", (List<SelectListItem>)ViewBag.YearDrop, new { @class = "" })
<span>月度</span>
@Html.DropDownList("month", (List<SelectListItem>)ViewBag.MonthDrop, new { @class = "" })
<span>开始日期</span>
@Html.TextBox("StartTime", null, new { @class = "m-wrap small" })
<span>结束日期</span>
@Html.TextBox("EndTime", null, new { @class = "m-wrap small" }) <span>发文类型</span>
@Html.DropDownList("DTMName", null, new { @class = "m-wrap small" })
<span>关键字</span>
@Html.TextBox("KeyWords", null, new { @class = "m-wrap small" }) <a class="btn btn-primary btn-sm" title='搜索' id="btn_search" href="javascript:void(0)"><i class="fa fa-search"></i>搜索</a>
<a class="btn btn-primary btn-sm" title='发文' href="@Url.Action("Create")"><i class="fa fa-plus"></i>添加</a> <a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
</div>
二、最主要的是js部分
//把公共的设置项都放在这里,就不需要每个页面都设置一遍了,放在jQuery对象上是为了避免污染全局变量
$.dataTablesSettings = {
"aLengthMenu": [10, 25, 50, 100],
"bAutoWidth": false,
"bDeferRender": true,
"bLengthChange": true,
"sAjaxSource": "/ReceivedDoc/AjaxHandler",
"bPaginate": true,
"bServerSide": true,
"bSort": true,
"iDisplayLength": 10,
searching: false,//是否显示搜索框
"aaSorting": [[0, "asc"]], // set first column as a default sort by asc
"bFilter": true,
"aoColumnDefs": [{ // define columns sorting options(by default all columns are sortable extept the first checkbox column)
'bSortable': true,
'aTargets': [0, 8]
}],
"fnServerParams": function (aoData) {
aoData._rand = Math.random();
},
"fnDrawCallback": function () { } dataTable = $(".dataTables-example").dataTable($.dataTablesSettings);
$('#btn_search').click(function () {
//这里重新设置参数
$.dataTablesSettings.fnServerParams = function (aoData) {
aoData._rand = Math.random();
aoData.push(
{ "name": "year", "value": $('#year').val() },
{ "name": "month", "value": $('#month').val() },
{ "name": "StartTime", "value": $('#StartTime').val() },
{ "name": "EndTime", "value": $('#EndTime').val() },
{ "name": "DTMName", "value": $('#DTMName').val() },
{ "name": "KeyWords", "value": $('#KeyWords').val() }
);
}
//搜索就是设置参数,然后销毁datatable重新再建一个
dataTable.fnDestroy(false);
dataTable = $(".dataTables-example").dataTable($.dataTablesSettings);
//搜索后跳转到第一页
dataTable.fnPageChange(0);
});
三、后台就就可以使用类接收参数了,也可以使用HttpContext.Request.QueryString["year"]接收。接收后根据不同的查询条件进行相应的查询。
jQuery DataTables添加自定义多个搜索条件的更多相关文章
- WordPress 后台评论如何自定义搜索条件
大家都知道WordPress 作为一个非常成熟的博客系统,功能可以说是非常强大,几乎整个网站都可以进行定制开发,已经不算是一个博客系统了而应该是一个成熟的开发框架 最近就用WP给客户开发了一个网站,但 ...
- [jQuery]jQuery DataTables插件自定义Ajax分页实现
前言 昨天在博客园的博问上帮一位园友解决了一个问题,我觉得有必要记录一下,万一有人也遇上了呢. 问题描述 园友是做前端的,产品经理要求他使用jQuery DataTables插件显示一个列表,要实现分 ...
- jquery dataTables.min.js API
demo: http://datatables.net/release-datatables/examples/api/select_single_row.html 选择一行http://datata ...
- Jquery DataTables相关示例
一.Jquery-DataTables DataTables 是jquery的一个开源的插件.它具有高度灵活的特性,基于渐进增强的基础,可以为任何表格添加交互.它特性如下: 提供分页,搜索和多列排序: ...
- jquery datatables api (转)
学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...
- DataTables ajax + bootstrap 分页/搜索/排序/常见问题
最近学校的网站建设需要,尝试使用了下Jquery dataTables控件,接触过C#的人都知道,C#中也含有一个DataTable,但它和我们今天讨论的东西无关 我使用的是官网最新的DataTabl ...
- 最全的jquery datatables api 使用详解
学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...
- jquery datatables api
原文地址 学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/ ...
- jQuery DataTables 使用手册(精简版)
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/5182940.html 前排提醒,这个插件能不用就不用,那么多好的插件等着你,为什么要用它呢?就算用easyui的 ...
随机推荐
- redis学习笔记——客户端
Redis服务器是典型的一对多服务器程序:一个服务器可以与多个客户端建立网络连接,每个客户端可以向服务器发送命令请求,而服务器则接收并处理客户端发送的命令请求,并向客户端返回命令回复. 对于每个与服务 ...
- JQUERY插件学习之jQuery UI
jQuery UI:http://jqueryui.com/ jQuery UI介绍: jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互 ...
- 《C++ Primer》 第四版 第7章 函数
<C++ Primer> 第四版 第7章 函数 思维导图笔记 超级具体.很具体,图片版,有利于复习查看 http://download.csdn.net/detail/onlyshi/94 ...
- lodash获取数组或对象的值 at
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- (转)职责链设计模式(Chain of Responsibility)
Chain of Responsibility定义Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯 ...
- JBoss类加载机制 ClassLoadingConfiguration
http://sylven.iteye.com/blog/577063 类仓库优先级从低到高 1.classpath.lib目录 2.由已部署的应用程序的所有类./server/{server_nam ...
- 常用排序算法及Java实现
概述 在计算器科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定排序方式进行排列的一种算法.本文将总结几类常用的排序算法,包括冒泡排序.选择排序.插入排序 ...
- 简单的刚開始学习的人配置Android SDK+ADT+Eclipse
1.下载JDK.Android SDK和Eclipse(Eclipse 版本号最好新一些) 注意:下载的SDK最好和后面的ADT配套,否则Eclipse可能会报错. 如:SDK 21.0.1 相应 A ...
- self.navigationItem.titleView 不居中显示的问题
自定义一个AUIView, AUIView * v=[AUIView new]; self.navigationItem.titleView = v; 在AUIView类内重写 setFrame - ...
- @@identity、scope_identity()、IDENT_CURRENT('tablename')函数的区别
@@IDENTITY 和SCOPE_IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值.但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值:@@IDENTITY 不受限于 ...