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"]
接收。接收後根據不同的查詢條件進行相應的查詢。
相關文章
- github條件搜尋Github
- jQuery 條件搜尋查詢 實時取值 升降序排序jQuery排序
- jquery 多條件匹配jQuery
- JQuery datatables 給表格新增載入中效果jQuery
- jQuery Validate新增自定義驗證規則jQuery
- 51_初識搜尋引擎_上機動手實戰多搜尋條件組合查詢
- 直播app原始碼,預設顯示搜尋框 保留搜尋條件APP原始碼
- TP5 搜尋按條件分頁
- SOLIDWORKS如何新增自定義標準件庫Solid
- 【Django】組合條件的搜尋功能實現Django
- odoo 為可編輯列表檢視欄位搜尋新增查詢過濾條件Odoo
- 請教一個關於不確定條件個數搜尋的問題
- layUI Table自定義工具欄和搜尋引數UI
- 使用grep搜尋多個字串字串
- 手動給docusaurus新增一個搜尋
- 直播軟體開發,自定義搜尋欄的圖示樣式和搜尋框
- Jquery + Bootstrap 實現搜尋框jQueryboot
- 使用 Eloquent 輕鬆搜尋多個模型模型
- EMQX 多版本釋出、新增自定義函式功能MQ函式
- jquery自定義事件的使用jQuery事件
- layui下拉框xm-select自定義搜尋使用方法UI
- SAP MM 自定義條件型別出現在採購資訊記錄的'條件'介面裡 ?型別
- ElementUI的Table表格新增自定義頭CheckBox多選框UI
- 小程式搜尋自定義關鍵詞功能關閉意欲何為?
- 在命令列中使用 msbuild 定義多個編譯條件 DefineConstants 時出錯命令列UI編譯
- MVC5和Jquery Datatables1.10MVCjQuery
- Laravel 多 where 並搜尋Laravel
- 語義搜尋相關配置
- 網頁版“頭條搜尋”悄然上線,今日頭條想成為國內知名搜尋引擎網頁
- Vue根據條件新增click事件Vue事件
- 通過新增條件優化SQL優化SQL
- BM42:語義搜尋與關鍵詞搜尋結合
- Laravel 多條件去重Laravel
- Laravel 多條件查詢Laravel
- Jquery DataTables解決 Cannot reinitialise DataTable 問題jQuery
- Laravel 新增自定義助手函式Laravel函式
- AUTOCAD——新增自定義填充圖案
- Azure AD(六)新增自定義域名