日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jQuery - (JQuery datatables api 使用解读)

發布時間:2023/11/29 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jQuery - (JQuery datatables api 使用解读) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習可參考:http://www.guoxk.com/node/jquery-datatables

??????????????????????http://yuemeiqing2008-163-com.iteye.com/blog/2006942

?

?? 分別導入css和js文件

<link href="~/Content/bootstrap.css" rel="stylesheet" /> <link href="~/Content/datatables/css/dataTables.bootstrap.css" rel="stylesheet" /> <script src="~/Scripts/jquery-1.10.2.js"></script> <script src="~/Scripts/bootstrap.js"></script> <script src="~/Content/datatables/js/jquery.dataTables.js"></script> <script src="~/Content/datatables/js/dataTables.bootstrap.js"></script>

?加載

Html代碼??
  • <script?type="text/javascript">??
  • ????????$(document).ready(function()?{??
  • ????????????$('#example').dataTable();??
  • ????????});??
  • ????</script>??
  • ?表單

    Html代碼??
  • <div?class="col_2_3_right">??
  • ????????????????<div?class="index_viewport">??
  • ????????????????????<table?id="example"?cellpadding="0"?cellspacing="0"?border="0"?width="100%">??
  • ????????????????????????<thead>??
  • ????????????????????????????<tr>??
  • ????????????????????????????????<th?width="20%">First?name</th>??
  • ????????????????????????????????<th?width="20%">Last?name</th>??
  • ????????????????????????????????<th?width="35%">City</th>??
  • ????????????????????????????????<th?width="25%">Date</th>??
  • ????????????????????????????</tr>??
  • ????????????????????????</thead>??
  • ????????????????????</table>??
  • ????????????????</div>??
  • ????????????</div>??
  • 問題:有時提示找不到datatable方法

    原因 window.onload必須等到頁面內包括圖片的所有元素加載完畢后才能執行。?
    $(document).ready()是DOM結構繪制完畢后就執行,不必等到加載完畢。

    ?從后臺ajax得數據重建datatables(表單的id要與json的key一致)

    Js代碼??
  • $.ajax({??
  • ????????????????????  type:'get',//可選get??
  • ????????????????????  url:'${projectPath}/search',??
  • ????????????????????  data:{"channelType":$('#channelType').val(),"channel":$('#channel').val(),"day":$('#day').val(),"startTime":$('#startTime').val(),"endTime":$('#endTime').val(),"database":$('#database').val()},??
  • ????????????????????  dataType:'text',//服務器返回的數據類型?可選XML?,Json?jsonp?script?htmltext等??
  • ????????????????????  success:function(msg){??
  • ????????????????????????var?msgObj=JSON.parse(msg);??
  • ????????????????????????//重新構建table??
  • ?????????????????????????$('#example').dataTable().fnClearTable();???//將數據清除??
  • ???????????????????? ????$('#example').dataTable().fnAddData(packagingdatatabledata(msgObj),true);??//數據必須是json對象或json對象數組??
  • ???????????????????? ??
  • ????????????????  },??
  • ????????????????????  error:function(){??
  • ????????????????????  alert('error');??
  • ????????????????????  }??
  • ????????????})})??
  • 傳入的數據

    Js代碼??
  • //把服務器返回的數據轉成datatable須要的格式??
  • ????????function?packagingdatatabledata(msgObj){??
  • ????????????var?editHtml="<a?class='btn'?data-toggle='modal'?href='#modalbackdroptrue'?>編輯</a>";??
  • ????????????//var?editHtml="<a?class='btn'?href='#modalbackdroptrue'?data-toggle='modal'?>編輯</a>";??
  • ????????????var?a=[];??
  • ????????????var?tableName=['day','data','indata','edit'];??
  • ????????????var?banddata=storjson(msgObj['data']);??
  • ????????????var?bandindata=storjson(msgObj['indata']);??
  • ????????????for(var?key?in?banddata){??
  • ????????????????var?tempObj=new?Object();??
  • ????????????????tempObj.day=key;??
  • ????????????????tempObj.data=banddata[key];??
  • ????????????????tempObj.indata=bandindata[key];??
  • ????????????????tempObj.edit=editHtml;??
  • ????????????????a.push(JSON.parse(JSON.stringify(tempObj,tableName)));??
  • ????????????????}??
  • ????????????return?a;??
  • ????????}??
  • ?傳入的是一個對象數組,每個對象代表一行,對象的屬性即是列

    ?

    單擊時得到某行的值

    ?? 須要引入 jquery.dataTables.nightly.js? 在附件中有??

    Js代碼??
  • $(document).ready(function()?{??
  • ????/*?Init?DataTables?*/??
  • ????$('#example').dataTable();??
  • $('#example?tbody?tr').live('click',?function?()?{??
  • ????????????????var?sTitle;??
  • ????????????????var?nTds?=?$('td',?this);??
  • ????????????????var?sday?=?$(nTds[0]).text();??//得到第1列的值??
  • ????????????????var?sout?=?$(nTds[1]).text();??
  • ????????????????var?sin?=?$(nTds[2]).text();??
  • ??????????????????
  • ????????????}?);??
  • ??
  • }?);??
  • ???

    2:詳細配置

    Js代碼??
  • var?docrTable?=?$('#docrevisontable').dataTable({??
  • ????????????"bProcessing"?:?true,?//DataTables載入數據時,是否顯示‘進度’提示??
  • ????????????"bServerSide"?:?true,?//是否啟動服務器端數據導入??
  • ????????????"bStateSave"?:?true,?//是否打開客戶端狀態記錄功能,此功能在ajax刷新紀錄的時候不會將個性化設定回復為初始化狀態??
  • ????????????"bJQueryUI"?:?true,?//是否使用?jQury的UI?theme??
  • ????????????"sScrollY"?:?450,?//DataTables的高??
  • ????????????"sScrollX"?:?820,?//DataTables的寬??
  • ????????????"aLengthMenu"?:?[20,?40,?60],?//更改顯示記錄數選項??
  • ????????????"iDisplayLength"?:?40,?//默認顯示的記錄數??
  • ????????????"bAutoWidth"?:?false,?//是否自適應寬度??
  • ????????????//"bScrollInfinite"?:?false,?//是否啟動初始化滾動條??
  • ????????????"bScrollCollapse"?:?true,?//是否開啟DataTables的高度自適應,當數據條數不夠分頁數據條數的時候,插件高度是否隨數據條數而改變??
  • ????????????"bPaginate"?:?true,?//是否顯示(應用)分頁器??
  • ????????????"bInfo"?:?true,?//是否顯示頁腳信息,DataTables插件左下角顯示記錄數??
  • ????????????"sPaginationType"?:?"full_numbers",?//詳細分頁組,可以支持直接跳轉到某頁??
  • ????????????"bSort"?:?true,?//是否啟動各個字段的排序功能??
  • ????????????"aaSorting"?:?[[1,?"asc"]],?//默認的排序方式,第2列,升序排列??
  • ????????????"bFilter"?:?true,?//是否啟動過濾、搜索功能??
  • ????????????????????"aoColumns"?:?[{??
  • ????????????????????????"mDataProp"?:?"USERID",??
  • ????????????????????????"sDefaultContent"?:?"",?//此列默認值為"",以防數據中沒有此值,DataTables加載數據的時候報錯??
  • ????????????????????????"bVisible"?:?false?//此列不顯示??
  • ????????????????????},?{??
  • ????????????????????????"mDataProp"?:?"USERNAME",??
  • ????????????????????????"sTitle"?:?"用戶名",??
  • ????????????????????????"sDefaultContent"?:?"",??
  • ????????????????????????"sClass"?:?"center"??
  • ????????????????????},?{??
  • ????????????????????????"mDataProp"?:?"EMAIL",??
  • ????????????????????????"sTitle"?:?"電子郵箱",??
  • ????????????????????????"sDefaultContent"?:?"",??
  • ????????????????????????"sClass"?:?"center"??
  • ????????????????????},?{??
  • ????????????????????????"mDataProp"?:?"MOBILE",??
  • ????????????????????????"sTitle"?:?"手機",??
  • ????????????????????????"sDefaultContent"?:?"",??
  • ????????????????????????"sClass"?:?"center"??
  • ????????????????????},?{??
  • ????????????????????????"mDataProp"?:?"PHONE",??
  • ????????????????????????"sTitle"?:?"座機",??
  • ????????????????????????"sDefaultContent"?:?"",??
  • ????????????????????????"sClass"?:?"center"??
  • ????????????????????},?{??
  • ????????????????????????"mDataProp"?:?"NAME",??
  • ????????????????????????"sTitle"?:?"姓名",??
  • ????????????????????????"sDefaultContent"?:?"",??
  • ????????????????????????"sClass"?:?"center"??
  • ????????????????????},?{??
  • ????????????????????????"mDataProp"?:?"ISADMIN",??
  • ????????????????????????"sTitle"?:?"用戶權限",??
  • ????????????????????????"sDefaultContent"?:?"",??
  • ????????????????????????"sClass"?:?"center"??
  • ????????????????????}],??
  • ????????????????????"oLanguage":?{?//國際化配置??
  • ????????????????"sProcessing"?:?"正在獲取數據,請稍后...",????
  • ????????????????"sLengthMenu"?:?"顯示?_MENU_?條",????
  • ????????????????"sZeroRecords"?:?"沒有您要搜索的內容",????
  • ????????????????"sInfo"?:?"從?_START_?到??_END_?條記錄?總記錄數為?_TOTAL_?條",????
  • ????????????????"sInfoEmpty"?:?"記錄數為0",????
  • ????????????????"sInfoFiltered"?:?"(全部記錄數?_MAX_?條)",????
  • ????????????????"sInfoPostFix"?:?"",????
  • ????????????????"sSearch"?:?"搜索",????
  • ????????????????"sUrl"?:?"",????
  • ????????????????"oPaginate":?{????
  • ????????????????????"sFirst"?:?"第一頁",????
  • ????????????????????"sPrevious"?:?"上一頁",????
  • ????????????????????"sNext"?:?"下一頁",????
  • ????????????????????"sLast"?:?"最后一頁"????
  • ????????????????}??
  • ????????????},??
  • ??????????????????????
  • ????????????????????"fnRowCallback"?:?function(nRow,?aData,?iDisplayIndex)?{??
  • ????????????????????????/*?用來改寫用戶權限的?*/??
  • ????????????????????????if?(aData.ISADMIN?==?'1')??
  • ????????????????????????????$('td:eq(5)',?nRow).html('管理員');??
  • ????????????????????????if?(aData.ISADMIN?==?'2')??
  • ????????????????????????????$('td:eq(5)',?nRow).html('資料下載');??
  • ????????????????????????if?(aData.ISADMIN?==?'3')??
  • ????????????????????????????$('td:eq(5)',?nRow).html('一般用戶');??
  • ??????????????????????????
  • ????????????????????????return?nRow;??
  • ????????????????????},??
  • ??????????????????????
  • ????????????????????"sAjaxSource"?:?"../use/userList.do?now="?+?new?Date().getTime(),??
  • ????????????????????????//服務器端,數據回調處理??
  • ????????????????????????????"fnServerData"?:?function(sSource,?aDataSet,?fnCallback)?{??
  • ????????????????????????????????$.ajax({??
  • ????????????????????????????????????"dataType"?:?'json',??
  • ????????????????????????????????????"type"?:?"POST",??
  • ????????????????????????????????????"url"?:?sSource,??
  • ????????????????????????????????????"data"?:?aDataSet,??
  • ????????????????????????????????????"success"?:?fnCallback??
  • ????????????????????????????????});??
  • ????????????????????????????}??
  • ????????????????});??
  • ??????????????????
  • ????????????????$("#docrevisontable?tbody").click(function(event)?{?//當點擊表格內某一條記錄的時候,會將此記錄的cId和cName寫入到隱藏域中??
  • ????????????????????$(docrTable.fnSettings().aoData).each(function()?{??
  • ????????????????????????$(this.nTr).removeClass('row_selected');??
  • ????????????????????});??
  • ????????????????????$(event.target.parentNode).addClass('row_selected');??
  • ????????????????????var?aData?=?docrTable.fnGetData(event.target.parentNode);??
  • ??????????????????????
  • ????????????????????$("#userId").val(aData.USERID);??
  • ????????????????????$("#userN").val(aData.USERNAME);??
  • ????????????????});??
  • ??????????????????
  • ????????????????$('#docrevisontable_filter').html('<span>用戶管理列表');??
  • ????????????????$('#docrevisontable_filter').append('???<input?type="button"?class="addBtn"?id="addBut"?value="創建"/>');??
  • ????????????????$('#docrevisontable_filter').append('???<input?type="button"?class="addBtn"?id="addBut"?value="修改"/>');??
  • ????????????????$('#docrevisontable_filter').append('???<input?type="button"?class="addBtn"?id="addBut"?value="刪除"/>');??
  • ????????????????$('#docrevisontable_filter').append('</span>');??
  • ????????}??
  • ?設置隱藏列

    Js代碼??
  • var?oTable?=?$('#example').dataTable();??
  • oTable.fnSetColumnVis(?0,?false);//隱藏列??
  • ?得到當前頁面中的數據

    var alldata=$('#example').dataTable().fnGetData();//得到頁面中所有對象

    ?

    // Row data?
    $(document).ready(function() {?
    oTable = $('#example').dataTable();?

    oTable.$('tr').click( function () {?
    var data = oTable.fnGetData( this );?
    // ... do something with the array / object of data for the row?
    } );?
    } );?


    // Individual cell data?
    $(document).ready(function() {?
    oTable = $('#example').dataTable();?

    oTable.$('td').click( function () {?
    var sData = oTable.fnGetData( this );?
    alert( 'The cell clicked on had the value of '+sData );?
    } );?
    } );

    ?刷新表中的數據(最后一個參數是否重繪表格,false你瀏覽到第二頁不會刷跑到第一頁,但數據不會改變)

    $('#example').dataTable().fnUpdate( 'a' , 1 , 1 ,false); //coll?
    $('#example').dataTable().fnUpdate( ['a','b'] , 1 ); //row

    ?得到當前瀏覽的datatables頁碼

    Js代碼??
  • var?tableSetings=$('#example').dataTable().fnSettings()??
  • var?paging_length=tableSetings._iDisplayLength;//當前每頁顯示多少??
  • var?page_start=tableSetings._iDisplayStart;//當前頁開始??
  • var?page=Div(page_start,paging_length);??
  • ??
  • function?Div(exp1,?exp2)?{??//整除??
  • ????var?n1?=?Math.round(exp1);?//四舍五入?????
  • ????var?n2?=?Math.round(exp2);?//四舍五入????
  • ??
  • ????var?rslt?=?n1?/?n2;?//除????
  • ????if?(rslt?>=?0)?{??
  • ????????rslt?=?Math.floor(rslt);?//返回小于等于原rslt的最大整數。?????
  • ????}??
  • ????else?{??
  • ????????rslt?=?Math.ceil(rslt);?//返回大于等于原rslt的最小整數。?????
  • ????}??
  • ????return?rslt;??
  • }??
  • ?設置datatables跳轉到某頁

    Js代碼??
  • $('#example').dataTable().fnPageChange(page);???
  • ?注意:由于后臺數據可能已經被其它人改變(記錄個數與現在前臺不一致),所以數據fnUpdate時須要判斷前后端數據的一致性,只刷 新前臺有的數據的狀態

    ?

    dom:

    http://datatables.net/release-datatables/examples/api/select_single_row.html?選擇一行
    http://datatables.net/release-datatables/examples/api/select_row.html選擇多行
    http://datatables.net/release-datatables/examples/api/editable.html?即時編輯行
    http://datatables.net/release-datatables/examples/api/tabs_and_scrolling.html?多個tab
    http://datatables.net/release-datatables/examples/api/add_row.html添加一行(靜態)
    http://datatables.net/release-datatables/examples/api/multi_filter.html多列搜索
    http://datatables.net/release-datatables/examples/api/multi_filter_select.html多列搜索(擴展)
    http://datatables.net/release-datatables/examples/api/highlight.html行列 高亮
    http://datatables.net/release-datatables/examples/advanced_init/highlight.html?鼠標移上去亮
    http://datatables.net/release-datatables/examples/api/row_details.html行詳細信息
    http://datatables.net/release-datatables/examples/api/counter_column.html添加行數
    http://datatables.net/release-datatables/examples/api/show_hide.html隱藏列
    http://datatables.net/release-datatables/examples/api/api_in_init.html點中即為搜索條件
    http://datatables.net/release-datatables/examples/advanced_init/events_live.html?給每一個行添加事件顯示行的信息
    http://datatables.net/release-datatables/examples/advanced_init/events_pre_init.html鼠標事件 移到某一行顯示信息
    http://datatables.net/release-datatables/examples/advanced_init/events_post_init.html?同上
    http://datatables.net/release-datatables/examples/advanced_init/dom_multiple_elements.html?用sdom屬性控制插件位置
    http://datatables.net/release-datatables/examples/advanced_init/dom_toolbar.htmlsdom應用
    http://datatables.net/release-datatables/examples/advanced_init/length_menu.html更改按多少數據顯示
    http://datatables.net/release-datatables/examples/advanced_init/complex_header.html表頭組
    http://datatables.net/release-datatables/examples/advanced_init/row_grouping.html按組顯示行
    http://datatables.net/release-datatables/examples/advanced_init/row_callback.html列回調函數
    http://datatables.net/release-datatables/examples/advanced_init/footer_callback.html總計(footer回調)
    http://datatables.net/release-datatables/examples/advanced_init/sorting_control.html自定義排序

    http://datatables.net/release-datatables/examples/advanced_init/language_file.html國際化

    ?

    一:api

    bAutoWidth?:啟用或禁用自動列寬度的計算。

    默認值true
    類型boolean
  • $(document).ready( function () {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bAutoWidth": false??//關閉后,表格將不會自動計算表格大小,在瀏覽器大化小化的時候會擠在一坨
  • ? ? } );
  • } );
  • bDeferRender?:根據官網的介紹翻譯過來就是,延期渲染,可以有個速度的提升,當datatable 使用Ajax或者JS源表的數據。這個選項設置為true,將導致datatable推遲創建表元素每個元素,直到他們都創建完成——本參數的目的是節省大量的時間。

    默認值:false
    類型:boolean
  • $(document).ready( function() {
  • ? ? var oTable = $('#example').dataTable( {
  • ? ?? ???"sAjaxSource": "sources/arrays.txt",
  • ? ?? ???"bDeferRender": true? ?//這個參數我個人沒有使用過,到底是不是這個效果,大家自己去嘗試一下
  • ? ? } );
  • } );
  • bFilter?:這個很容易明白,啟用或禁用過濾數據。在datatable過濾是“智能”,它允許用戶 最終輸入多個關鍵字(空格分隔),和每一行數據匹配,即使不是在被指定的順序(這允許匹配多個列)。注意,如果您希望使用過濾,在datatable中必須設置為true,如果要刪除默認過濾輸入框和留住過濾功能,請使用{ @link DataTable.defaults.sDom }。這個最后一句不明白,不知道大家怎么理解。

    默認值:true
    類型:boolean
  • $(document).ready( function () {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bFilter": false
  • ? ? } );
  • } );
  • bJQueryUI?:這個不用多說了,一看就懂,啟用jQuery UI樣式,(需要在頁面添加jQuery的樣式文件)。

    默認值:false
    類型:boolean
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ? "bJQueryUI": true
  • ? ? } );
  • } );
  • bLengthChange?:開啟一頁顯示多少條數據的下拉菜單,允許用戶從下拉框(10、25、50和100),注意需要分頁(bPaginate:true)。

    默認值:true
    類型:boolean
  • $(document).ready( function () {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bLengthChange": false,
  • bPaginate?:開啟分頁功能,如果不開啟,將會全部顯示

    默認值:true
    類型:boolean
  • $(document).ready( function () {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bPaginate": false? ?
  • ? ? } );
  • } );
  • bProcessing?:開啟讀取服務器數據時顯示正在加載中……特別是大數據量的時候,開啟此功能比較好

    默認值:false
    類型:boolean
  • $(document).ready( function () {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bProcessing": true
  • ? ? } );
  • } );
  • bScrollInfinite?:是否開啟不限制長度的滾動條(和sScrollY屬性結合使用),不限制長度的滾動條意味著當用戶拖動滾動條的時候DataTable會不斷加載數據當數據集十分大的時候會有些用處,該選項無法和分頁選項同時使用,分頁選項會被自動禁止,注意,額外推薦的滾動條會優先與該選項

    默認值:false
    類型:boolean
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bScrollInfinite": true,
  • ? ?? ???"bScrollCollapse": true,
  • ? ?? ???"sScrollY": "200px"//長200像素
  • ? ? } );
  • } );
  • bServerSide?:開啟服務器模式,使用服務器端處理配置datatable。注意:sAjaxSource參數也必須被給予為了給datatable源代碼來獲取所需的數據對于每個畫。 這個翻譯有點別扭。開啟此模式后,你對datatables的每個操作 每頁顯示多少條記錄、下一頁、上一頁、排序(表頭)、搜索,這些都會傳給服務器相應的值。

    默認值:false
    類型:boolean
  • $(document).ready( function () {
  • ? ?? ?$('#example').dataTable( {
  • ? ?? ?? ? "bServerSide": true,
  • ? ?? ?? ? "sAjaxSource": "xhr.php"
  • ? ?? ? } );
  • } );
  • bInfo?:啟用或禁用表信息顯示。這顯示了關于數據的信息,目前在網頁上,包括信息過濾數據,如果行為被執行。這個參數在bServerSide配置后需要用到。

    默認值:true
    類型:boolean
  • $(document).ready( function () {
  • ? ? $('#example').dataTable( {
  • ? ?? ? "bInfo": false//如果這個參數不穿到后臺去,服務器分頁會報錯,據說這個參數包含了表的所有信息
  • ? ? } );
  • } );
  • bSort?:開啟排序功能,每一列都有排序功能,如果關閉了,排序功能將失效,也可以自定義排序功能。單個列的排序可以禁用“bSortable”選項。

    默認值:true
    類型:boolean
  • $(document).ready( function () {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bSort": false
  • ? ? } );
  • } );
  • bSortClasses?:是否在當前被排序的列上額外添加sorting_1,sorting_2,sorting_3三個class,當該列被排序的時候,可以切換其背景顏色,該選項作為一個來回切換的屬性會增加執行時間(當class被移除和添加的時候),當對大數據集進行排序的時候你或許希望關閉該選項

    默認值:true
    類型:boolean
  • $(document).ready( function () {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bSortClasses": false
  • ? ???} );
  • } );
  • bStateSave?:是否開啟狀態保存,當選項開啟的時候會使用一個cookie保存表格展示的信息的狀態,例如分頁信息,展示長度,過濾和排序等。這樣當終端用戶重新加載這個頁面的時候可以使用以前的設置

    默認值:false
    類型:boolean
  • $(document).ready( function () {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bStateSave": true
  • ? ? } );
  • } );
  • sScrollX?:是否開啟水平滾動,當一個表格過于寬以至于無法放入一個布局的時候,或者表格有太多列的時候,你可以開啟該選項從而在一個可橫向滾動的視圖里面展示表格,該屬性可以是css設置,或者一個數字(作為像素量度來使用)

    默認值:blank string - i.e. disabled
    類型:string
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"sScrollX": "100%",
  • ? ?? ???"bScrollCollapse": true
  • ? ???} );
  • } );
  • sScrollY:是否開啟垂直滾動,垂直滾動會驅使DataTable設置為給定的長度,任何溢出到當前視圖之外的數據可以通過垂直滾動進行察看當在小范圍區域中顯示大量數據的時候,可以在分頁和垂直滾動中選擇一種方式,該屬性可以是css設置,或者一個數字(作為像素量度來使用)

    默認值:blank string - i.e. disabled
    類型:string
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"sScrollY": "200px",
  • ? ?? ???"bPaginate": false
  • ? ???} );
  • } );
  • bDestroy?:使用傳遞的新的初始化對象中的屬性構造一個新的表格,并替換一個匹配指定的選擇器的表格,如果沒有匹配到表格,新的表格會被作為一個普通表格被構建

    默認值:false
    類型:boolean
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"sScrollY": "200px",
  • ? ?? ???"bPaginate": false
  • ? ? } );
  • ? ?
  • ??// Some time later....
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bFilter": false,
  • ? ?? ???"bDestroy": true
  • ? ? } );
  • } );
  • bRetrieve?:使用指定的選擇器檢索表格,注意,如果表格已經被初始化,該參數會直接返回已經被創建的對象,并不會顧及你傳遞進來的初始化參數對象的變化,將該參數設置為true說明你確認已經明白這一點,如果你需要的話,bDestroy可以用來重新初始化表格

    默認值:false
    類型:boolean
  • $(document).ready( function() {
  • ? ? initTable();
  • ? ? tableActions();
  • } );
  • function initTable ()
  • {
  • ? ? return $('#example').dataTable( {
  • ? ? "sScrollY": "200px",
  • ? ? "bPaginate": false,
  • ? ? "bRetrieve": true
  • ? ? } );
  • }
  • function tableActions ()
  • {
  • ? ? var oTable = initTable();
  • ? ? // perform API operations with oTable
  • }
  • bScrollAutoCss?:指明DataTable中滾動的標題元素是否被允許設置內邊距和外邊距等

    默認值:true
    類型:boolean
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bScrollAutoCss": false,
  • ? ?? ???"sScrollY": "200px"
  • ? ? } );
  • } );
  • bScrollCollapse?:當垂直滾動被允許的時候,DataTable會強制表格視圖在任何時候都是給定的高度(對布局有利)不過,當把數據集過濾到十分小的時候看起來會很古怪,而且頁腳會留在最下面當結果集的高度比給定的高度小時該參數會使表格高度自適應

    默認值:false
    類型:
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"sScrollY": "200",
  • ? ?? ???"bScrollCollapse": true
  • ? ? } );
  • } );
  • bSortCellsTop?:是否允許DataTable使用頂部(默認為true)的單元格,或者底部(默認為false)的單元格,當使用復合表頭的時候會有些用處

    默認值:false
    類型:boolean
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bSortCellsTop": true
  • ? ? } );
  • } );
  • iCookieDuration?:指定用于存儲客戶端信息到cookie中的時間長度,超過這個時間后,自動過期

    默認值:7200?(2 hours)
    類型:int
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ? "iCookieDuration": 60*60*24; // 一天
  • ? ? } );
  • } )
  • iDeferLoading?:當選項被開啟的時候,DataTable在非加載第一次的時候不會向服務器請求數據,而是會使用頁面上的已有數據(不會應用排序等),因此在加載的時候保留一個XmlHttpRequest,iDeferLoading被用來指明需要延遲加載,而且也用來通知DataTable一個滿的表格有多少條數據,信息元素和分頁會被正確保留

    默認值:null
    類型:int
  • // 57 records available in the table, no filtering applied
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bServerSide": true,
  • ? ?? ???"sAjaxSource": "scripts/server_processing.php",
  • ? ?? ???"iDeferLoading": 57
  • ? ? } );
  • } );
  • // 57 records after filtering, 100 without filtering (an initial filter applied)
  • $(document).ready( function() {
  • ? ???$('#example').dataTable( {
  • ? ?? ???"bServerSide": true,
  • ? ?? ???"sAjaxSource": "scripts/server_processing.php",
  • ? ?? ???"iDeferLoading": [ 57, 100 ],
  • ? ?? ?? ?? ?"oSearch": {
  • ? ?? ?? ?? ?"sSearch": "my_filter"
  • ? ?? ?? ? }
  • ? ?? ?} );
  • } );
  • iDisplayLength?:單頁顯示的數據的條數,如果bLengthChange屬性被開啟,終端用戶可以通過一個彈出菜單重寫該數值

    默認值:10
    類型:int
  • $(document).ready( function() {
  • ? ?? ? $('#example').dataTable( {
  • ? ?? ?? ?? ?"iDisplayLength": 50
  • ? ?? ???} );
  • } )
  • iDisplayStart?:當開啟分頁的時候,定義展示的記錄的起始序號,不是頁數,因此如果你每個分頁有10條記錄而且想從第三頁開始,需要把該參數指定為20

    默認值0
    類型:int
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"iDisplayStart": 20
  • ? ? } );
  • } )
  • iScrollLoadGap?:滾動余界是指DataTable在當前頁面還有多少條數據可供滾動時自動加載新的數據,你可能希望指定一個足夠大的余界,以便滾動加載數據的操作對用戶來說是平滑的,同時也不會大到加載比需要的多的多的數據

    默認值:100
    類型:int
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"bScrollInfinite": true,
  • ? ?? ???"bScrollCollapse": true,
  • ? ?? ???"sScrollY": "200px",
  • ? ?? ???"iScrollLoadGap": 50
  • ? ? } );
  • } );
  • iTabIndex?:默認情況下DataTable允許通過為需要鍵盤導航的元素添加tabindex屬性來進行導航(排序、分頁、過濾),允許你通過tab鍵切換控制組件,使用回車鍵去激活他們,默認為0表示按照文檔流來切換,如果需要的話,你可以使用該參數重寫切換順序,使用-1來禁止內建的鍵盤導航

    默認值:0
    類型:int
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"iTabIndex": 1
  • ? ? } );
  • } );
  • oSearch?:該參數允許你在初始化的時候使用已經定義的全局過濾狀態,sSearch對象必須被定義,但是所有的其它選項都是可選的,當bRegex為true的時候,搜索字符串會被當作正則表達式,當為false(默認)的時候,會被直接當作一個字符串,當bSmart為true的時候,DataTable會使用使用靈活過濾策略(匹配任何可能的數據),為false的時候不會這樣做

  • $(document).ready( function() {
  • ? ?? ?$('#example').dataTable( {
  • ? ?? ?? ? "oSearch": {"sSearch": "Initial search"}
  • ? ?? ? } );
  • } )
  • sAjaxDataProp?:當使用Ajax數據源或者服務器端處理的時候,DataTable會默認搜索aaData屬性作為數據源,該選項允許變更數據源的名稱,你可以使用JavaScript的點號對象表示法去訪問多級網狀數據源

    默認值:aaData
    類型:string
  • // Get data from { "data": [...] }
  • $(document).ready( function() {
  • ? ? var oTable = $('#example').dataTable( {
  • ? ?? ???"sAjaxSource": "sources/data.txt",
  • ? ?? ? "sAjaxDataProp": "data"
  • ? ? } );
  • } );
  • // Get data from { "data": { "inner": [...] } }
  • $(document).ready( function() {
  • ? ? var oTable = $('#example').dataTable( {
  • ? ?? ? "sAjaxSource": "sources/data.txt",
  • ? ?? ?"sAjaxDataProp": "data.inner"
  • ? ?} );
  • } );
  • sAjaxSource?:該參數用來向DataTable指定加載的外部數據源(如果想使用現有的數據,請使用aData),可以簡單的提供一個可以用來獲得數據url或者JSON對象,該對象必須包含aaData,作為表格的數據源

    默認值:null
    類型:string
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ???"sAjaxSource": "list.action"
  • ? ???} );
  • } )
  • sCookiePrefix?:該參數可以用來重寫DataTable默認指定的用來存儲狀態信息的cookie的前綴

    默認值:SpryMedia_DataTables_
    類型:string
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ?"sCookiePrefix": "my_datatable_"
  • ? ? } );
  • } );
  • sDom?:這是用于定義DataTable布局的一個強大的屬性,包括分頁,顯示多少條數據和搜索,格式如下:

  • The following options are allowed:
  • ? ? 'l' - 左上角按個下拉框,10個,20個,50個,所有的哪個
  • ? ? 'f' - 快速過濾框
  • ? ? 't' - 表格本身
  • ? ? 'i' - 分頁信息
  • ? ? 'p' -分頁按鈕
  • ? ? 'r' - 現在正在加載中……
  • The following constants are allowed:
  • ? ? 'H' - jQueryUI theme "header" classes ('fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix')
  • ? ? 'F' - jQueryUI theme "footer" classes ('fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix')
  • The following syntax is expected:
  • ? ? '<' and '>' - div 元素
  • ? ? '<"class" and '>' - 給div加clasa
  • ? ? '<"#id" and '>' - 給div加上id
  • Examples:
  • ? ? '<"wrapper"flipt>'
  • ? ? '<lf<t>ip>'
  • 默認值:lfrtip?(when bJQueryUI is false)?or?<"H"lfr>t<"F"ip>?(when bJQueryUI is true)
    類型:string
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ? "sDom": '<"top"i>rt<"bottom"flp><"clear">'
  • ? ? } );
  • } );
  • '<"top"i>rt<"bottom"flp><"clear">'


    這段代碼翻譯為html就是這樣子的:

  • <div class="top">
  • ? ? i
  • </div>
  • rt
  • <div class="bottom">
  • ? ? flp
  • </div>
  • <div class="clear"></div>
  • 這樣一對比起來,就容易理解多了.Datatables之強大的sDom屬性的應用
    sPaginationType?:DataTable內建了兩種交互式分頁策略,兩個按鈕和全頁數,展現給終端用戶不同的控制方式,可以通過API增加策略

    默認值:two_button
    類型:string
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ? "sPaginationType": "full_numbers"
  • ? ? } );
  • } )
  • sScrollXInner?:當橫向滾動可用的時候,該屬性可以用來強制DataTable的寬度比需要的更長,比如你需要表格彼此相隔適宜,該變量可以用來使表格變大,而且強制滾動,該該屬性可以是css設置,或者一個數字(作為像素量度來使用)

    默認值:blank string - i.e. disabled
    類型:string
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ? "sScrollX": "100%",
  • ? ?? ? "sScrollXInner": "110%"
  • ? ?} );
  • } );
  • sServerMethod?:設置使用Ajax方式調用的服務器端的處理方法或者Ajax數據源的HTTP請求方式

    默認值:GET
    類型:string
  • $(document).ready( function() {
  • ? ? $('#example').dataTable( {
  • ? ?? ? "bServerSide": true,
  • ? ?? ? "sAjaxSource": "list.action",
  • ? ?? ? "sServerMethod": "POST"? ?//以post的方式提交數據
  • ? ? } );
  • } )
  • 二:?列屬性 aoColumnDefs: This array allows you to target a specific column, multiple columns, or all columns, using the aTargets property of each object in the array (please note that aoColumnDefs was introduced in DataTables 1.7). This allows great flexibility when creating tables, as the aoColumnDefs arrays can be of any length, targeting the columns you specifically want. The aTargets property is an array to target one of many columns and each element in it can be:

    aoColumnDefs:這個數組允許您針對一個特定列,多個列,或者所有列,使用aTargets屬性的數組中的每個對象(請注意,介紹了aoColumnDefs datatable 1.7)。這提供了很大的靈活性在創建表,因為aoColumnDefs數組可以是任意長度,目標是你特別想要的列。aTargets的屬性是一個數組來目標眾多列和每個元素在它可以:

    • a string - class name will be matched on the TH for the column
    • 0 or a positive integer - column index counting from the left
    • a negative integer - column index counting from the right
    • the string "_all" - all columns (i.e. assign a default)

    aoColumns: If specified, then the length of this array?must?be equal to the number of columns in the original HTML table. Use 'null' where you wish to use only the default values and automatically detected options.

    aoColumnDefs參數和aoColumns可以一起使用,盡管aoColumnDefs優先aoColumns的靈活性。 如果兩者都使用,aoColumns定義將最高優先級。同樣,如果相同的列的目標是在aoColumnDefs多次,第一個元素的數組將最高優先級,最后一個最低的。


    aDataSort:定義一個列或多個列自定義排序
    Default:null?Takes the value of the column index automatically
    Type:array
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "aDataSort": [ 0, 1 ], "aTargets": [ 0 ] },
  • ? ?? ?{ "aDataSort": [ 1, 0 ], "aTargets": [ 1 ] },
  • ? ?? ?{ "aDataSort": [ 2, 3, 4 ], "aTargets": [ 2 ] }
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "aDataSort": [ 0, 1 ] },
  • ? ?? ?{ "aDataSort": [ 1, 0 ] },
  • ? ?? ?{ "aDataSort": [ 2, 3, 4 ] },
  • ? ?? ?null,
  • ? ?? ?null
  • ? ? ]
  • ??} );
  • } );
  • asSorting:控制列的升序或降序到自定義列

    Default:[ 'asc', 'desc' ]
    Type:array
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "asSorting": [ "asc" ], "aTargets": [ 1 ] },
  • ? ?? ?{ "asSorting": [ "desc", "asc", "asc" ], "aTargets": [ 2 ] },
  • ? ?? ?{ "asSorting": [ "desc" ], "aTargets": [ 3 ] }
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?null,
  • ? ?? ?{ "asSorting": [ "asc" ] },
  • ? ?? ?{ "asSorting": [ "desc", "asc", "asc" ] },
  • ? ?? ?{ "asSorting": [ "desc" ] },
  • ? ?? ?null
  • ? ? ]
  • ??} );
  • } );
  • bSearchable:設置列是否能被快速檢索框搜索到
    Default:true
    Type:boolean
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "bSearchable": false, "aTargets": [ 0 ] }
  • ? ? ] } );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "bSearchable": false },
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null
  • ? ? ] } );
  • } );
  • bSortable:啟用或禁用列排序。
    Default:true
    Type:boolean
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "bSortable": false, "aTargets": [ 0 ] }
  • ? ? ] } );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "bSortable": false },
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null
  • ? ? ] } );
  • } );
  • bUseRendered?:高版本已經廢棄這個屬性,沒有使用過,直接翻譯吧!當使用fnRender()為一個列,您可能希望使用原始的數據(在呈現之前)進行排序和過濾(默認是用于呈現的數據,用戶可以看到)。這可能是有用的日期等。請注意,該選項已被棄用,將被刪除的下一個版本的datatable。請用mRender / mData而不是fnRender。
    Default:true
    Type:boolean

    無例子代碼;
    bVisible:啟用或禁用本列顯示。
    Default:true
    Type:boolean
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "bVisible": false, "aTargets": [ 0 ] }
  • ? ? ] } );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "bVisible": false },
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null
  • ? ? ] } );
  • } );
  • fnCreatedCell:開發人員可定義的函數,就會調用一個細胞被創建(Ajax源等)或處理輸入(DOM源)。這可以作為一種恭維,mRender允許您修改DOM元素(例如添加背景顏色)當元素是可用的。

    Default:?
    Type:function
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [ {
  • ? ?? ?"aTargets": [3],
  • ? ?? ?"fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
  • ? ?? ???if ( sData == "1.7" ) {
  • ? ?? ?? ? $(nTd).css('color', 'blue')
  • ? ?? ???}
  • ? ?? ?}
  • ? ? } ]
  • ??});
  • } );
  • fnRender:高版本已經廢棄這個屬性。mRender這個代替

    iDataSort:列索引(從0開始!),你想要執行一個在本專欄時被選中進行排序。這可以用于排序在隱藏列例如。這個也沒使用過
    Default:-1?Use automatically calculated column index
    Type:int
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "iDataSort": 1, "aTargets": [ 0 ] }
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "iDataSort": 1 },
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null
  • ? ? ]
  • ??} );
  • } );
  • mData:這個屬性可以用來讀取JSON數據從任何數據源屬性,包括深層嵌套對象/屬性。可以給mData在許多不同的方面影響其行為:

    • integer - treated as an array index for the data source. This is the default that DataTables uses (incrementally increased for each column).
    • string - read an object property from the data source. Note that you can use Javascript dotted notation to read deep properties / arrays from the data source.
    • null - the sDefaultContent option will be used for the cell (null by default, so you will need to specify the default content you want - typically an empty string). This can be useful on generated columns such as edit / delete action columns.
    • function - the function given will be executed whenever DataTables needs to set or get the data for a cell in the column. The function takes three parameters:
      • {array|object} The data source for the row
      • {string} The type call data requested - this will be 'set' when setting data or 'filter', 'display', 'type', 'sort' or undefined when gathering data. Note that when?undefined?is given for the type DataTables expects to get the raw data for the object back
      • {*} Data to set when the second parameter is 'set'.
      The return value from the function is not required when 'set' is the type of call, but otherwise the return is what will be used for the data requested.
    Default:null?Use automatically calculated column index
    Type:string
  • // Read table data from objects
  • $(document).ready( function() {
  • ??var oTable = $('#example').dataTable( {
  • ? ? "sAjaxSource": "sources/deep.txt",
  • ? ? "aoColumns": [
  • ? ?? ?{ "mData": "engine" },
  • ? ?? ?{ "mData": "browser" },
  • ? ?? ?{ "mData": "platform.inner" },
  • ? ?? ?{ "mData": "platform.details.0" },
  • ? ?? ?{ "mData": "platform.details.1" }
  • ? ? ]
  • ??} );
  • } );
  • // Using mData as a function to provide different information for
  • // sorting, filtering and display. In this case, currency (price)
  • $(document).ready( function() {
  • ??var oTable = $('#example').dataTable( {
  • ? ? "aoColumnDefs": [ {
  • ? ?? ?"aTargets": [ 0 ],
  • ? ?? ?"mData": function ( source, type, val ) {
  • ? ?? ???if (type === 'set') {
  • ? ?? ?? ? source.price = val;
  • ? ?? ?? ? // Store the computed dislay and filter values for efficiency
  • ? ?? ?? ? source.price_display = val=="" ? "" : "[? ?? ???DISCUZ_CODE_7? ?? ???]quot;+numberFormat(val);
  • ? ?? ?? ? source.price_filter??= val=="" ? "" : "[? ?? ???DISCUZ_CODE_7? ?? ???]quot;+numberFormat(val)+" "+val;
  • ? ?? ?? ? return;
  • ? ?? ???}
  • ? ?? ???else if (type === 'display') {
  • ? ?? ?? ? return source.price_display;
  • ? ?? ???}
  • ? ?? ???else if (type === 'filter') {
  • ? ?? ?? ? return source.price_filter;
  • ? ?? ???}
  • ? ?? ???// 'sort', 'type' and undefined all just use the integer
  • ? ?? ???return source.price;
  • ? ?? ?}
  • ? ? } ]
  • ??} );
  • } );
  • mRender?:This property is the rendering partner to mData and it is suggested that when you want to manipulate data for display (including filtering, sorting etc) but not altering the underlying data for the table, use this property. mData can actually do everything this property can and more, but this parameter is easier to use since there is no 'set' option. Like mData is can be given in a number of different ways to effect its behaviour, with the addition of supporting array syntax for easy outputting of arrays (including arrays of objects):

    • integer - treated as an array index for the data source. This is the default that DataTables uses (incrementally increased for each column).
    • string - read an object property from the data source. Note that you can use Javascript dotted notation to read deep properties / arrays from the data source and also array brackets to indicate that the data reader should loop over the data source array. When characters are given between the array brackets, these characters are used to join the data source array together. For example: "accounts[, ].name" would result in a comma separated list with the 'name' value from the 'accounts' array of objects.
    • function - the function given will be executed whenever DataTables needs to set or get the data for a cell in the column. The function takes three parameters:
      • {array|object} The data source for the row (based on mData)
      • {string} The type call data requested - this will be 'filter', 'display', 'type' or 'sort'.
      • {array|object} The full data source for the row (not based on mData)
      The return value from the function is what will be used for the data requested.
    Default:null?Use mData
    Type:string
  • // Create a comma separated list from an array of objects
  • $(document).ready( function() {
  • ??var oTable = $('#example').dataTable( {
  • ? ? "sAjaxSource": "sources/deep.txt",
  • ? ? "aoColumns": [
  • ? ?? ?{ "mData": "engine" },
  • ? ?? ?{ "mData": "browser" },
  • ? ?? ?{
  • ? ?? ???"mData": "platform",
  • ? ?? ???"mRender": "[, ].name"
  • ? ?? ?}
  • ? ? ]
  • ??} );
  • } );
  • // Use as a function to create a link from the data source
  • $(document).ready( function() {
  • ??var oTable = $('#example').dataTable( {
  • ? ? "aoColumnDefs": [ {
  • ? ?? ?"aTargets": [ 0 ],
  • ? ?? ?"mData": "download_link",
  • ? ?? ?"mRender": function ( data, type, full ) {
  • ? ?? ???return '<a href="'+data+'">Download</a>';
  • ? ?? ?}
  • ? ? } ]
  • ??} );
  • } );
  • sCellType:Change the cell type created for the column - either TD cells or TH cells. This can be useful as TH cells have semantic meaning in the table body, allowing them to act as a header for a row (you may wish to add scope='row' to the TH elements).
    Default:td
    Type:string
  • // Make the first column use TH cells
  • $(document).ready( function() {
  • ??var oTable = $('#example').dataTable( {
  • ? ? "aoColumnDefs": [ {
  • ? ?? ?"aTargets": [ 0 ],
  • ? ?? ?"sCellType": "th"
  • ? ? } ]
  • ??} );
  • } );
  • sClass:給列加上自己定義的屬性
    Default:Empty string
    Type:string
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "sClass": "my_class", "aTargets": [ 0 ] }
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "sClass": "my_class" },
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null
  • ? ? ]
  • ??} );
  • } );
  • sContentPadding?:When DataTables calculates the column widths to assign to each column, it finds the longest string in each column and then constructs a temporary table and reads the widths from that. The problem with this is that "mmm" is much wider then "iiii", but the latter is a longer string - thus the calculation can go wrong (doing it properly and putting it into an DOM object and measuring that is horribly(!) slow). Thus as a "work around" we provide this option. It will append its value to the text that is found to be the longest string for the column - i.e. padding. Generally you shouldn't need this, and it is not documented on the general DataTables.net documentation

    Default:Empty string
    Type:string
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?{
  • ? ?? ???"sContentPadding": "mmm"
  • ? ?? ?}
  • ? ? ]
  • ??} );
  • } );
  • sDefaultContent?:Allows a default value to be given for a column's data, and will be used whenever a null data source is encountered (this can be because mData is set to null, or because the data source itself is null).
    Default:null
    Type:string
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{
  • ? ?? ???"mData": null,
  • ? ?? ???"sDefaultContent": "Edit",
  • ? ?? ???"aTargets": [ -1 ]
  • ? ?? ?}
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?{
  • ? ?? ???"mData": null,
  • ? ?? ???"sDefaultContent": "Edit"
  • ? ?? ?}
  • ? ? ]
  • ??} );
  • } );
  • sName:This parameter is only used in DataTables' server-side processing. It can be exceptionally useful to know what columns are being displayed on the client side, and to map these to database fields. When defined, the names also allow DataTables to reorder information from the server if it comes back in an unexpected order (i.e. if you switch your columns around on the client-side, your server-side code does not also need updating).

    Default:Empty string
    Type:string
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "sName": "engine", "aTargets": [ 0 ] },
  • ? ?? ?{ "sName": "browser", "aTargets": [ 1 ] },
  • ? ?? ?{ "sName": "platform", "aTargets": [ 2 ] },
  • ? ?? ?{ "sName": "version", "aTargets": [ 3 ] },
  • ? ?? ?{ "sName": "grade", "aTargets": [ 4 ] }
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "sName": "engine" },
  • ? ?? ?{ "sName": "browser" },
  • ? ?? ?{ "sName": "platform" },
  • ? ?? ?{ "sName": "version" },
  • ? ?? ?{ "sName": "grade" }
  • ? ? ]
  • ??} );
  • } );
  • sSortDataType?:Defines a data source type for the sorting which can be used to read real-time information from the table (updating the internally cached version) prior to sorting. This allows sorting to occur on user editable elements such as form inputs.
    Default:std
    Type:string
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "sSortDataType": "dom-text", "aTargets": [ 2, 3 ] },
  • ? ?? ?{ "sType": "numeric", "aTargets": [ 3 ] },
  • ? ?? ?{ "sSortDataType": "dom-select", "aTargets": [ 4 ] },
  • ? ?? ?{ "sSortDataType": "dom-checkbox", "aTargets": [ 5 ] }
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?{ "sSortDataType": "dom-text" },
  • ? ?? ?{ "sSortDataType": "dom-text", "sType": "numeric" },
  • ? ?? ?{ "sSortDataType": "dom-select" },
  • ? ?? ?{ "sSortDataType": "dom-checkbox" }
  • ? ? ]
  • ??} );
  • } );
  • sTitle?:The title of this column.
    Default:null?Derived from the 'TH' value for this column in the original HTML table.
    Type:string
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "sTitle": "My column title", "aTargets": [ 0 ] }
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "sTitle": "My column title" },
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null
  • ? ? ]
  • ??} );
  • } );
  • sType:The type allows you to specify how the data for this column will be sorted. Four types (string, numeric, date and html (which will strip HTML tags before sorting)) are currently available. Note that only date formats understood by Javascript's Date() object will be accepted as type date. For example: "Mar 26, 2008 5:03 PM". May take the values: 'string', 'numeric', 'date' or 'html' (by default). Further types can be adding through plug-ins.
    Default:null?Auto-detected from raw data
    Type:string
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "sType": "html", "aTargets": [ 0 ] }
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "sType": "html" },
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null
  • ? ? ]
  • ??} );
  • } );
  • sWidth:Defining the width of the column, this parameter may take any CSS value (3em, 20px etc). DataTables applies 'smart' widths to columns which have not been given a specific width through this interface ensuring that the table remains readable.
    Default:null?Automatic
    Type:string
  • // Using aoColumnDefs
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumnDefs": [
  • ? ?? ?{ "sWidth": "20%", "aTargets": [ 0 ] }
  • ? ? ]
  • ??} );
  • } );
  • // Using aoColumns
  • $(document).ready( function() {
  • ??$('#example').dataTable( {
  • ? ? "aoColumns": [
  • ? ?? ?{ "sWidth": "20%" },
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null,
  • ? ?? ?null
  • ? ? ]
  • ??} );
  • } );
  • 三:回調 fnCookieCallback:還沒有使用過 $(document).ready( function () {$('#example').dataTable( {"fnCookieCallback": function (sName, oData, sExpires, sPath) {// Customise oData or sName or whatever else herereturn sName + "="+JSON.stringify(oData)+"; expires=" + sExpires +"; path=" + sPath;}} ); } );fnCreatedRow:顧名思義,創建行得時候的回調函數 $(document).ready( function() {$('#example').dataTable( {"fnCreatedRow": function( nRow, aData, iDataIndex ) {// 為a的話字體加粗if ( aData[4] == "A" ){$('td:eq(4)', nRow).html( '<b>A</b>' );}}} ); } );fnDrawCallback:draw畫 ,這個應該是重繪的回調函數 $(document).ready( function() {$('#example').dataTable( {"fnDrawCallback": function( oSettings ) {alert( 'DataTables 重繪了' );}} ); } );fnFooterCallback:底部的回調函數,這個可以用來做總計之類的功能 $(document).ready( function() {$('#example').dataTable( {"fnFooterCallback": function( nFoot, aData, iStart, iEnd, aiDisplay ) {nFoot.getElementsByTagName('th')[0].innerHTML = "Starting index is "+iStart;}} ); } )fnFormatNumber:顧名思義,格式化數字的顯示方式 $(document).ready( function() {$('#example').dataTable( {"fnFormatNumber": function ( iIn ) {if ( iIn < 1000 ) {return iIn;} else {vars=(iIn+""),a=s.split(""), out="",iLen=s.length;for ( var i=0 ; i<iLen ; i++ ) {if ( i%3 === 0 && i !== 0 ) {out = "'"+out;}out = a[iLen-i-1]+out;}}return out;};} ); } );fnHeaderCallback:表頭的回調函數 $(document).ready( function() {$('#example').dataTable( {"fnHeaderCallback": function( nHead, aData, iStart, iEnd, aiDisplay ) {nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";}} ); } )fnInfoCallback:datatables信息的回調函數 $('#example').dataTable( {"fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) {return iStart +" to "+ iEnd;} } );fnInitComplete:datatables初始化完畢后會調用這個方法 $(document).ready( function() {$('#example').dataTable( {"fnInitComplete": function(oSettings, json) {alert( 'DataTables has finished its initialisation.' );}} ); } )fnPreDrawCallback:每一次繪datatables時候調用的方法 $(document).ready( function() {$('#example').dataTable( {"fnPreDrawCallback": function( oSettings ) {if ( $('#test').val() == 1 ) {return false;}}} ); } );fnRowCallback:行的回調函數 $(document).ready( function() {$('#example').dataTable( {"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {// Bold the grade for all 'A' grade browsersif ( aData[4] == "A" ){$('td:eq(4)', nRow).html( '<b>A</b>' );}}} ); } );fnServerData:這個是結合服務器模式的回調函數,用來處理服務器返回過來的數據 // POST data to server $(document).ready( function() {$('#example').dataTable( {"bProcessing": true,"bServerSide": true,"sAjaxSource": "xhr.php","fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {oSettings.jqXHR = $.ajax( {"dataType": 'json',"type": "POST","url": sSource,"data": aoData,"success": fnCallback} );}} ); } );fnServerParams:向服務器傳額外的參數 $(document).ready( function() {$('#example').dataTable( {"bProcessing": true,"bServerSide": true,"sAjaxSource": "scripts/server_processing.php","fnServerParams": function ( aoData ) {aoData.push( { "name": "more_data", "value": "my_value" } );}} ); } );fnStateLoad:讀取狀態的回調函數 $(document).ready( function() {$('#example').dataTable( {"bStateSave": true,"fnStateLoad": function (oSettings) {var o;// Send an Ajax request to the server to get the data. Note that// this is a synchronous request.$.ajax( {"url": "/state_load","async": false,"dataType": "json","success": function (json) {o = json;}} );return o;}} ); } );fnStateLoadParams:和上面的不知道什么區別,沒用過 // Remove a saved filter, so filtering is never loaded $(document).ready( function() {$('#example').dataTable( {"bStateSave": true,"fnStateLoadParams": function (oSettings, oData) {oData.oSearch.sSearch = "";}} ); } ); // Disallow state loading by returning false $(document).ready( function() {$('#example').dataTable( {"bStateSave": true,"fnStateLoadParams": function (oSettings, oData) {return false;}} ); } );fnStateLoaded:又是這個,加了ed 不知道意思沒用過 // Show an alert with the filtering value that was saved $(document).ready( function() {$('#example').dataTable( {"bStateSave": true,"fnStateLoaded": function (oSettings, oData) {alert( 'Saved filter was: '+oData.oSearch.sSearch );}} ); } );fnStateSave:狀態儲存 $(document).ready( function() {$('#example').dataTable( {"bStateSave": true,"fnStateSave": function (oSettings, oData) {// Send an Ajax request to the server with the state object$.ajax( {"url": "/state_save","data": oData,"dataType": "json","method": "POST""success": function () {}} );}} ); } );fnStateSaveParams :狀態儲存參數,沒用過,不明白 // Remove a saved filter, so filtering is never saved $(document).ready( function() {$('#example').dataTable( {"bStateSave": true,"fnStateSaveParams": function (oSettings, oData) {oData.oSearch.sSearch = "";}} ); } );

    轉載于:https://www.cnblogs.com/wynjauu/articles/9190962.html

    總結

    以上是生活随笔為你收集整理的jQuery - (JQuery datatables api 使用解读)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    亚洲经典视频在线观看 | 亚洲最大av在线播放 | 黄色一级免费网站 | 久久精品成人热国产成 | 久久97久久| 在线观看免费高清视频大全追剧 | 91成人在线视频观看 | 三级在线视频观看 | 69成人在线| 婷婷色网站 | 91av视频 | 亚洲国产成人精品电影在线观看 | 国产精品一区在线观看你懂的 | 欧美色图另类 | 日韩久久久久久 | 97香蕉久久国产在线观看 | 91精品视频网站 | 久久精品国产亚洲精品 | 97成人精品视频在线播放 | 国产亚洲一区 | 免费在线观看一区二区三区 | 九九在线视频免费观看 | 日韩女同一区二区三区在线观看 | 成人黄色av网站 | 亚洲乱码在线 | 99久久99久久免费精品蜜臀 | 91人人爽久久涩噜噜噜 | 国产视频黄 | 亚洲欧美日韩中文在线 | 五月天天av | 九九精品久久 | 日本一区二区免费在线观看 | 日韩成人在线一区二区 | 国产精选在线观看 | 又色又爽的网站 | 亚洲欧洲成人精品av97 | 天天干天天插 | 国产精品一区二区在线看 | 久久人人艹 | 日韩三级精品 | 国产精品夜夜夜一区二区三区尤 | 国产在线国产 | 久草免费看 | 国产99免费视频 | 欧美日韩综合在线 | 久久久久久久精 | 黄免费网站 | 亚洲精品乱码久久久久久久久久 | 欧美日韩精品在线播放 | 日本精品在线视频 | www日| 在线免费性生活片 | 99久久99热这里只有精品 | 97品白浆高清久久久久久 | 欧美在线视频日韩 | 黄污网站在线 | 久久久久国产成人免费精品免费 | 中文字幕999| 99视频精品免费观看, | 美国av大片| 超碰97人人在线 | 国产亚洲综合在线 | 九九精品视频在线观看 | 亚洲精品高清在线观看 | 中文字幕一区二区在线观看 | 久久99在线视频 | 91伊人影院 | 午夜骚影 | 亚洲黄网址 | 国产日本亚洲 | 精品久久久久久一区二区里番 | 视频在线观看日韩 | 国产一区二区三区在线免费观看 | 丁香花在线视频观看免费 | 国产精品 日韩 | 婷婷色中文字幕 | 亚洲电影久久久 | 999久久国产 | 狠狠干在线播放 | 人人插人人搞 | 国产经典 欧美精品 | 91午夜精品 | 久久xxxx| 91精品在线观看视频 | 久久久久久久久影院 | 国内精品福利视频 | 日韩欧美在线观看一区 | 日韩欧美大片免费观看 | 美女网站视频久久 | 欧美日韩亚洲精品在线 | 日韩欧美在线一区 | 欧美一区二区三区在线播放 | 成人毛片在线观看 | 精品国产黄色片 | 超碰精品在线 | 黄色大片视频网站 | 性色在线视频 | 四虎8848免费高清在线观看 | 免费高清在线视频一区· | 色综合亚洲精品激情狠狠 | a天堂一码二码专区 | 成人三级视频 | 中文字幕免费看 | 日日夜夜天天人人 | 午夜精品一区二区三区四区 | 在线免费观看国产黄色 | 亚洲精品啊啊啊 | 久久电影国产免费久久电影 | 久久免费在线观看视频 | 国产免费人成xvideos视频 | 精品国产自在精品国产精野外直播 | 日韩高清二区 | 日韩av电影免费在线观看 | 久久久久国产a免费观看rela | 久久久久99精品成人片三人毛片 | 久久69av | 毛片网站观看 | 中午字幕在线 | 国产91粉嫩白浆在线观看 | 在线观看网站av | 国内精品久久久久久久久久久 | 91亚洲国产成人久久精品网站 | 国产人成看黄久久久久久久久 | 国产欧美综合视频 | 久久免费在线视频 | 91大神精品视频 | 91在线视频在线观看 | 国产精品视频久久久 | 最近中文字幕视频网 | 久久天天综合网 | 国产视频精品网 | 中文国产成人精品久久一 | 中文字幕在线免费观看 | 亚洲2019精品| 国产在线不卡一区 | 久久久久久久久久久久影院 | 中文字幕黄色 | 日韩电影一区二区在线 | 黄影院| 免费国产视频 | 欧美日bb| 综合色伊人 | 久久免费毛片 | 日韩一区二区三 | 久久久久久高潮国产精品视 | 日韩黄色中文字幕 | 在线视频麻豆 | 91看片淫黄大片91 | 精品国产乱码一区二 | 91精品久久香蕉国产线看观看 | 亚洲综合激情五月 | 人人玩人人添人人 | 久久99精品国产一区二区三区 | 成人久久18免费网站图片 | 五月婷婷丁香六月 | 精品嫩模福利一区二区蜜臀 | 久草在线视频免赞 | 日本午夜在线亚洲.国产 | 九九欧美视频 | 日韩成人高清在线 | 99久热在线精品视频 | 麻豆视频国产精品 | 特级西西人体444是什么意思 | 中文字幕在线观看视频一区二区三区 | 免费在线观看污网站 | 天天透天天插 | 美女国内精品自产拍在线播放 | 91亚洲狠狠婷婷综合久久久 | 国产精品精 | 伊人伊成久久人综合网小说 | 一 级 黄 色 片免费看的 | 日本精品中文字幕 | 在线观看精品黄av片免费 | 91亚洲在线观看 | 玖玖999| 天堂在线视频中文网 | 国产精品久久久久久婷婷天堂 | 亚洲精品美女久久17c | 在线免费观看黄色 | 午夜资源站| 在线观看免费视频你懂的 | 999久久久久久久久6666 | 国产精品久久久久久久毛片 | 午夜12点| 亚洲精品福利在线 | 久久任你操 | 中文字幕久久精品亚洲乱码 | 久久a v电影 | 国产第一页在线观看 | 日韩丝袜在线观看 | 在线视频国产区 | 日日躁夜夜躁aaaaxxxx | 亚洲国产视频网站 | 久久久亚洲网站 | 在线视频观看亚洲 | 伊人av综合| 久久综合九色综合欧美狠狠 | 久久激情电影 | www.福利| 有码中文在线 | 色婷婷啪啪免费在线电影观看 | 亚洲综合在线一区二区三区 | 天天做天天爱夜夜爽 | 日韩免费视频网站 | 亚洲在线资源 | 免费黄色在线网址 | 日韩欧美国产视频 | 亚洲精品乱码久久久久v最新版 | 久久国产露脸精品国产 | 99精品一级欧美片免费播放 | 在线天堂亚洲 | 欧美在线视频不卡 | 中文亚洲欧美日韩 | 国产一区二区三区视频在线 | 日本资源中文字幕在线 | av中文字幕免费在线观看 | 日韩精品你懂的 | 亚洲国产视频a | 中文字幕 国产专区 | 久热国产视频 | 久久香蕉电影网 | 天海翼一区二区三区免费 | 美女在线免费视频 | 国产精品久久久久久麻豆一区 | 欧美a视频在线观看 | 在线成人av | www黄色com| 日韩欧美精品一区二区 | 操夜夜操 | 久久99操| 91| 天天干天天射天天操 | 国产色综合| 亚洲黄色免费观看 | 日韩中文字幕视频在线观看 | 一区在线观看 | 国产成人精品一区二区三区福利 | 欧美贵妇性狂欢 | 免费日韩一区二区三区 | 日本动漫做毛片一区二区 | 国产999精品久久久久久 | 欧美综合在线视频 | 久久99网 | 综合激情久久 | 婷婷色亚洲 | 91天堂在线观看 | 国产精品观看 | 国产久草在线 | 97视频久久久 | 天天操夜夜爱 | 一区二区三区高清在线 | 国产精品 9999 | 三级动态视频在线观看 | 中文字幕视频一区 | 中文字幕在线电影 | 91在线精品视频 | 欧美 亚洲 另类 激情 另类 | 狠狠色噜噜狠狠 | 日韩最新在线视频 | 女人18片 | 国产精品免费看久久久8精臀av | 久久综合视频网 | 色精品视频 | 91成人网在线观看 | 欧美日韩亚洲在线 | 日韩亚洲国产中文字幕 | 99久久久国产精品免费观看 | 五月婷婷色播 | 四虎永久视频 | 九九在线高清精品视频 | 深爱开心激情 | 国产视频69 | 中文在线字幕免 | 男女视频国产 | 国产精品视频线看 | www天天操 | 国产麻豆剧果冻传媒视频播放量 | 亚洲男男gⅴgay双龙 | 日韩免费一区 | 999视频网站 | 激情欧美一区二区免费视频 | 亚洲爱爱视频 | 美女精品国产 | 中文字幕视频一区 | 日本不卡视频 | 国产黄色精品 | 热久久国产 | 国产亚洲精品美女久久 | 青青河边草免费视频 | 丁香激情五月婷婷 | 97视频免费| 亚洲国内精品在线 | 曰本免费av | 国产精品va在线观看入 | 青青河边草手机免费 | 99爱视频| 91尤物国产尤物福利在线播放 | 国产99久久99热这里精品5 | 久久99国产精品二区护士 | 一二区av| 国产欧美久久久精品影院 | 亚洲精品小视频 | 色综合天天干 | 日韩欧美视频一区二区 | 欧美日韩国产精品久久 | 久草在线一免费新视频 | 美女视频黄免费 | 午夜精品久久 | 亚洲人人爱 | 免费在线观看亚洲视频 | 激情欧美丁香 | 久久乐九色婷婷综合色狠狠182 | 亚洲国产丝袜在线观看 | 亚洲婷婷综合色高清在线 | 成人午夜电影在线 | 香蕉视频国产在线观看 | 激情五月色播五月 | 在线观看一级 | 在线观看理论 | 91爱爱视频 | 国产91精品在线播放 | 国产色综合天天综合网 | 午夜久久影院 | 丝袜美女视频网站 | 中文字幕精品一区二区三区电影 | 免费看一级特黄a大片 | 精品国产成人 | 992tv成人免费看片 | 国产精品99久久免费观看 | 91高清完整版在线观看 | 狠狠操操 | 成人资源站 | 18女毛片 | 亚洲人毛片 | 亚洲第一中文字幕 | 91精品国产亚洲 | 免费国产在线精品 | 深夜免费福利视频 | 免费在线观看国产精品 | 久久呀 | 欧美激情视频在线观看免费 | 国产成人福利片 | 九草视频在线观看 | 人人超碰免费 | 婷婷在线免费观看 | 91视频这里只有精品 | 麻豆视频国产在线观看 | 天天射综合网站 | 国产成人高清av | 国产99久久九九精品 | 久久精品电影院 | 男女激情片在线观看 | 国产一区高清在线观看 | 国产精品麻豆一区二区三区 | 国产资源在线观看 | 天天综合精品 | 深夜福利视频一区二区 | 欧美日韩国产综合一区二区 | 久久丁香网 | 久久久免费看片 | 国产精品12| 玖玖玖国产精品 | 国产无遮挡又黄又爽在线观看 | 国产中文字幕在线看 | 欧美污网站 | 91精品啪在线观看国产线免费 | 香蕉视频啪啪 | 久久a v电影 | 欧美国产日韩在线观看 | 国产精品99久久99久久久二8 | 日韩视频一区二区在线 | 天天操天天干天天 | 色欧美成人精品a∨在线观看 | 亚洲最大的av网站 | 婷婷色在线视频 | 国内精品久久久久久久影视简单 | 国产视频不卡一区 | 一级黄色片在线观看 | 婷婷六月激情 | 四虎影视精品 | 成年免费在线视频 | 国产精品久久久久久久久久不蜜月 | 日本在线h | 91传媒激情理伦片 | 国产精品久久久久久久免费大片 | 久久五月精品 | 欧美精品一区二区性色 | 521色香蕉网站在线观看 | 久久精品视频国产 | 中文字幕一二三区 | 亚洲精品网站 | 国产精品美女久久久久久久久 | 亚洲免费专区 | 国产自在线| 视频一区二区免费 | 成人国产综合 | 久久亚洲福利视频 | 亚洲欧美乱综合图片区小说区 | 久久区二区| 久久手机视频 | 人人超碰免费 | 日韩精品一区电影 | 日韩在线免费播放 | 精品久久久久国产免费第一页 | 欧美精品一区二区三区一线天视频 | 18做爰免费视频网站 | 久久激情五月丁香伊人 | 国产一级电影免费观看 | 日韩免| 奇米网8888 | 亚洲精品一区二区18漫画 | 一本—道久久a久久精品蜜桃 | 在线观看网站黄 | 特黄特色特刺激视频免费播放 | 国产精品露脸在线 | 久久激情日本aⅴ | 亚洲国产精品va在线 | 成人一区二区在线观看 | 黄色一级在线视频 | 亚洲四虎在线 | 日韩资源在线观看 | 日韩91av | 国产一区二区三区视频在线 | 亚洲视频 在线观看 | 黄色tv视频| 久黄色| 免费精品视频在线观看 | 免费电影一区二区三区 | 91精品爽啪蜜夜国产在线播放 | 日韩特级黄色片 | 91丨九色丨国产在线观看 | www在线免费观看 | 午夜av大片| 日韩激情视频 | 狠狠干干 | 色姑娘综合网 | 九色琪琪久久综合网天天 | 国产精品入口66mio女同 | 亚洲精品黄 | 久草在线视频精品 | a级片网站| 一区二区三区四区五区在线 | 国产视频中文字幕在线观看 | 久久99久久99免费视频 | 超碰日韩在线 | 久久www免费人成看片高清 | 91丨九色丨国产在线 | 中文字幕在线观看视频一区二区三区 | 国模精品一区二区三区 | 欧美性生活久久 | 人人狠狠综合久久亚洲婷 | 欧美精品国产综合久久 | 日韩免费在线看 | 久久视频在线免费观看 | 五月天综合激情网 | 免费试看一区 | 又黄又爽又刺激视频 | 久久大香线蕉app | 日本丶国产丶欧美色综合 | 国产精品久久久久一区二区国产 | 一本一道久久a久久精品蜜桃 | 全久久久久久久久久久电影 | 日韩v在线| 99精品国产在热久久下载 | 91精品国产高清自在线观看 | 在线免费成人 | 丁香婷婷综合色啪 | 久久香蕉电影 | 国产精品一区二区吃奶在线观看 | 天天干天天做天天操 | 综合网中文字幕 | 亚洲精品乱码 | 久久久视频在线 | 欧美成人影音 | 国产中文字幕视频在线观看 | 久久久久久久久影视 | 国产资源在线播放 | 99精品欧美一区二区三区 | 很污的网站 | 国模视频一区二区 | 成人91在线观看 | 国产资源免费在线观看 | 天天干天天拍 | 成人av一区二区兰花在线播放 | 在线播放国产精品 | 9草在线| 日韩va欧美va亚洲va久久 | 色av资源网 | 在线影视 一区 二区 三区 | 天天干人人| 久草青青在线观看 | 在线亚洲天堂网 | 亚洲人成精品久久久久 | 99草视频 | 国产美女主播精品一区二区三区 | 亚洲伦理中文字幕 | 最新色站 | 91成年人在线观看 | 国产精品视频免费观看 | 99精品国产免费久久 | 日韩黄色中文字幕 | 看片黄网站 | 99麻豆久久久国产精品免费 | 日韩高清精品一区二区 | 午夜91在线 | 国产成人av网| 久久久午夜精品理论片中文字幕 | 美女久久久久久久久久 | 999久久国精品免费观看网站 | 国产成人综合在线观看 | 国产一区二区三区高清播放 | 免费在线成人av电影 | 综合久久久久久久 | 日本字幕网 | 99久久精品国产亚洲 | 欧美 日韩精品 | 99视频这里只有 | 中文字幕乱码在线播放 | 日本精品一区二区在线观看 | 色噜噜在线观看 | 免费观看全黄做爰大片国产 | 99久高清在线观看视频99精品热在线观看视频 | 国产精品自在欧美一区 | 国产精品视频999 | av免费在线观看网站 | 在线中文字幕av观看 | 免费看的黄网站软件 | 日本性xxxxx| 五月婷婷,六月丁香 | 九九视频免费观看视频精品 | 欧美久久综合 | 久草在线视频精品 | 97视频在线观看视频免费视频 | 国产高清99 | 91精品国产成人 | 亚洲天堂在线观看完整版 | 国产专区在线看 | 国产人成一区二区三区影院 | 国产精品区免费视频 | 精品国产1区2区 | 国产精品a久久 | 一区二区三区手机在线观看 | 久久精品视 | 成年人网站免费在线观看 | 97日日碰人人模人人澡分享吧 | 在线视频a| 中文字幕字幕中文 | 99热在线免费观看 | 免费美女久久99 | 国产精品一区二区av日韩在线 | 久久成人精品电影 | 日韩最新在线视频 | 午夜三级毛片 | 国产夫妻av在线 | 国产xxxxx在线观看 | 久久男人中文字幕资源站 | 4438全国亚洲精品观看视频 | 国产精品系列在线播放 | 欧美性色网站 | 成人黄色在线电影 | 成人黄色毛片 | 国产精品人人做人人爽人人添 | 久久一区91 | 国内久久久久久 | 在线a人片免费观看视频 | 国产精品美乳一区二区免费 | 中文字幕黄色网 | 国色天香在线观看 | 毛片3 | 国产一区私人高清影院 | 日本久久综合视频 | 高清国产午夜精品久久久久久 | 五月婷婷中文 | 日韩电影在线看 | 天天插综合网 | 欧美福利视频一区 | 狠狠操天天射 | 午夜精品区 | 最近中文字幕完整视频高清1 | 久久网站最新地址 | 亚洲精品欧美成人 | 精品久久久久久国产 | 中文字幕在线观看视频一区二区三区 | 国产麻豆视频免费观看 | 在线色视频小说 | 色a资源在线 | 欧美精品久久久久a | 欧洲亚洲激情 | 免费三级av | 国产男女无遮挡猛进猛出在线观看 | 免费高清在线视频一区· | 欧美巨大 | 97在线观看 | 日韩综合精品 | 99riav1国产精品视频 | 国产精品久久久久久久av电影 | 五月激情丁香婷婷 | 国产精品一区二区果冻传媒 | 成人av午夜 | 热久久电影 | 成人在线免费视频 | 国产精品123| 国产精品日韩欧美 | 日韩国产在线观看 | 在线精品视频免费播放 | 91视频久久久久久 | 成人a免费视频 | 中文字幕网站视频在线 | 色综合久久88色综合天天免费 | 国产视频一区在线 | 超碰官网| 天天看天天干 | 天天草天天色 | 免费看一级 | 亚洲无吗天堂 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久综合欧美精品亚洲一区 | 国产在线视频一区二区三区 | 久久美女精品 | 九九热免费精品视频 | 亚洲欧美视频在线 | 亚洲国产欧美一区二区三区丁香婷 | 国产视频 久久久 | 午夜av免费在线观看 | 国内精品久久天天躁人人爽 | 97电影手机 | 欧美日韩高清国产 | 亚洲国产精品成人av | 香蕉影院在线观看 | 成人av中文字幕 | 激情丁香5月 | 日韩精品免费在线 | 欧美另类重口 | a级国产乱理论片在线观看 伊人宗合网 | 欧美成人在线免费观看 | 天堂av在线网址 | av在线播放观看 | 91中文字幕在线播放 | 国产一区在线不卡 | 99精品欧美一区二区 | 国产一区二区三区高清播放 | 高清久久久 | 2021国产精品视频 | 国产视频久久久 | 国产亚洲精品综合一区91 | 国产在线视频在线观看 | 在线只有精品 | 欧美一区日韩精品 | 日韩一级黄色av | 国产这里只有精品 | 欧美精品免费一区二区 | 东方av免费在线观看 | 免费看黄色小说的网站 | 91精品国产乱码在线观看 | 国产一区免费视频 | 天天爽夜夜爽人人爽一区二区 | 热久久免费视频精品 | 色综合咪咪久久网 | 国产一级免费观看视频 | 69视频永久免费观看 | 色姑娘综合天天 | 日韩视 | 91成年人视频 | 在线视频91 | 久久久久久久国产精品视频 | 国产在线精品区 | 国产成人精品亚洲日本在线观看 | 日韩av电影国产 | 国产婷婷 | 精品国产一区二区三区免费 | 国产女人免费看a级丨片 | 日韩视频欧美视频 | 国产精品高清在线观看 | 日日碰夜夜爽 | 亚洲激情综合 | 91福利免费 | 婷婷亚洲五月 | 99草视频在线观看 | 国产精品视频在线观看 | 97精品国产一二三产区 | 亚洲3级 | 国产精品一区二区在线免费观看 | 亚洲精品在线播放视频 | 亚洲日本中文字幕在线观看 | 高清一区二区三区av | 又爽又黄又刺激的视频 | 久久精品一二三区白丝高潮 | 日韩免费电影网 | 在线欧美最极品的av | 国产成人精品久久久久 | 国产精品a久久 | 日韩视频一区二区三区在线播放免费观看 | 国产中文字幕大全 | 在线播放 一区 | 日韩h在线观看 | 国产精品人人做人人爽人人添 | 丁香花在线视频观看免费 | 在线观看中文字幕亚洲 | 91亚洲国产成人久久精品网站 | 人人天天夜夜 | 免费人成网 | 欧美视频一区二 | 狠狠狠色丁香综合久久天下网 | 日韩欧美黄色网址 | 日日狠狠| 欧美日韩xx | 国产香蕉久久 | 天天操天天曰 | 高清不卡一区二区三区 | 午夜少妇一区二区三区 | 一级黄色片在线播放 | 五月亚洲婷婷 | 毛片二区 | 欧美成人xxxx| 夜夜躁狠狠躁日日躁 | 精品一区精品二区高清 | 亚洲最大的av网站 | 中文字幕永久免费 | 久久全国免费视频 | 97精品国产一二三产区 | 国产黄色在线看 | 日躁夜躁狠狠躁2001 | 特黄色大片 | 国产精品成人一区二区 | 日本高清xxxx| 午夜精品一区二区三区免费 | 免费黄色av电影 | 日韩中文字幕一区 | 97视频免费看 | 91久久国产综合精品女同国语 | 麻豆久久久久久久 | 国产精品一区二区久久 | 日韩精品在线观看av | 日日爱网站 | 国产成人精品久久亚洲高清不卡 | 欧美日韩免费观看一区二区三区 | 日本免费久久高清视频 | 久久9999久久 | 欧美精品成人在线 | 精久久久久 | 久久免费视频国产 | 久久综合九九 | 视频在线在亚洲 | 麻豆免费精品视频 | 国产精品美女久久久久久久 | 久久久久欧美精品 | 色综合久久中文字幕综合网 | 五月婷婷,六月丁香 | 精品国产一区二区三区四区vr | 91色国产在线 | 国产 日韩 在线 亚洲 字幕 中文 | 在线国产激情视频 | 黄色字幕网 | 欧美aaa一级 | 一区二区三区在线观看免费 | 日韩精品一区二区三区丰满 | 免费在线观看av网站 | 九九电影在线 | 国产黄色视 | 黄色小视频在线观看免费 | 国产精品久久久久高潮 | 久草网站在线观看 | 久久久999精品视频 国产美女免费观看 | 日日夜夜狠狠 | 日韩久久午夜一级啪啪 | 免费在线精品视频 | 久久精品视频在线免费观看 | 亚洲精品免费在线视频 | 黄色成人免费电影 | 一区二区在线电影 | 国产一区在线观看免费 | 中文字幕精品三级久久久 | 五月天中文字幕 | 九月婷婷综合网 | 久久久久久久久久久免费视频 | 午夜美女网站 | 黄色av一区 | 天堂av免费观看 | 五月婷婷激情 | 亚洲在线资源 | 麻豆一级视频 | 午夜色大片在线观看 | 91香蕉国产在线观看软件 | 久久97超碰 | 亚洲国产激情 | 黄色电影网站在线观看 | av在线不卡观看 | 人人爽人人爽人人片av免 | 91精品国产成 | 免费看搞黄视频网站 | 视频一区二区国产 | 色a综合| 婷婷久久五月 | 国产精品久久久久久久久毛片 | 狠狠色狠狠色合久久伊人 | 国产黄网站在线观看 | 欧美做受高潮1 | 久久艹精品 | 免费av在线| 中文字幕在线观看第一页 | 美女网站视频色 | 色偷偷888欧美精品久久久 | 中文字幕免费 | 99久久久国产精品美女 | 色狠狠狠| 色干综合 | 亚洲香蕉视频 | 精品久久久国产 | 成人黄色片免费 | 五月天天色 | 天天操天天干天天操天天干 | 99久久国产免费,99久久国产免费大片 | 91精品国产成人www | 国产精品久久久久久久久软件 | 欧美精品v国产精品v日韩精品 | 中文字幕在线观看1 | 美州a亚洲一视本频v色道 | 国产视频一区在线免费观看 | 国产色妞影院wwwxxx | 久草在线免费色站 | 久久免费视频这里只有精品 | 久久久天天操 | 狠狠色丁香婷婷综合久小说久 | www.色午夜.com | 97日日碰人人模人人澡分享吧 | 九九热av | 日韩欧美亚州 | 丁香婷婷社区 | 成人av地址| 亚洲欧洲中文日韩久久av乱码 | 欧美久久久久 | 国产中年夫妇高潮精品视频 | av电影免费在线看 | 亚洲国产成人精品在线观看 | 国产精品ⅴa有声小说 | 久久久国产在线视频 | 欧美中文字幕第一页 | 免费看国产黄色 | 激情综合五月天 | 欧美高清成人 | av三级在线播放 | 五月天开心| 天天视频色 | 婷婷网站天天婷婷网站 | 91丨九色丨首页 | 久久久久久麻豆 | 黄色小网站在线观看 | 久久免费99精品久久久久久 | 日韩城人在线 | 狠狠网| 国产成人精品一区二区三区 | 日韩在观看线 | www.久久久com | 亚洲精品国精品久久99热一 | 黄污视频网站 | 91精品视频免费观看 | 涩av在线 | 波多野结衣在线观看视频 | 国产色在线,com | 精品在线观看一区二区三区 | 免费在线观看一级片 | 国产综合在线观看视频 | 999电影免费在线观看 | 美女福利视频一区二区 | 国产精品久久久久久久久久久久久久 | 字幕网在线观看 | 91精品视频免费看 | 91九色蝌蚪视频 | 久久免费国产精品1 | 99久久精品国产欧美主题曲 | 国产精品99免视看9 国产精品毛片一区视频 | 深爱婷婷网 | 国产九色91 | 国产天天综合 | 国产精品精品久久久久久 | 免费麻豆 | 国产高清在线精品 | 麻豆免费看片 | 探花视频在线观看免费 | 麻豆高清免费国产一区 | 国产精品久久久久久久7电影 | 97香蕉超级碰碰久久免费软件 | 亚洲国产精品传媒在线观看 | 亚洲成人黄色网址 | 久久精品高清视频 | 亚洲成人动漫在线观看 | 久久玖| 日韩av电影中文字幕在线观看 | 亚洲成人黄色网址 | 国产96av| 色综合夜色一区 | 激情小说网站亚洲综合网 | 在线国产高清 | 亚洲黄色一级大片 | 丁香六月婷婷激情 | www.99在线观看| 日韩av看片| 国产美腿白丝袜足在线av | 99热99热 | 国产精品综合久久 | 欧美精品中文在线免费观看 | 亚洲免费一级电影 | 99久久精品国产系列 | www四虎影院| 久久撸在线视频 | 国产精品第三页 | 天天摸夜夜添 | 91麻豆精品国产91久久久更新时间 | 国产亲近乱来精品 | 免费在线观看一级片 | 一区二区三区日韩视频在线观看 | 69久久99精品久久久久婷婷 | 99av国产精品欲麻豆 | 久久国产精品精品国产色婷婷 | 免费久久网站 | 99视频网址| 婷婷在线观看视频 | 久久午夜羞羞影院 | 91麻豆福利 | 人人爽人人片 | 国产精品乱码久久 | 欧美孕交vivoestv另类 | 91视频免费 | 亚洲好视频| 四虎影视成人永久免费观看亚洲欧美 | 免费三级黄色片 | 99精品免费久久久久久日本 | 黄色大全在线观看 | 婷婷六月综合亚洲 | 亚洲高清色综合 | 五月综合激情 | 色婷婷狠狠操 | 久久久久亚洲精品中文字幕 | 91大神精品视频 | 中文字幕成人 | 亚洲欧洲国产日韩精品 | 国产一区二区三区四区大秀 | 午夜手机看片 | 国产在线不卡精品 | 成人在线视频你懂的 | 日韩精品视频在线免费观看 | 免费国产黄线在线观看视频 | 欧美日韩在线视频一区二区 | 国产视频在| 九九99视频 | 91爱爱电影 | 狠狠狠狠狠狠天天爱 | 国产中文a| 在线观看中文字幕第一页 | 丁香av在线 | 国产色道 | 久久久96 | 久久91久久久久麻豆精品 | 中文av日韩| 午夜精品视频免费在线观看 | 欧美色图p | 免费看片网站91 | 91久久久国产精品 | 成人羞羞视频在线观看免费 | 日韩免费av网址 | 国产很黄很色的视频 | 美女视频又黄又免费 | 国产vs久久 | 日韩av免费在线电影 | 久久精品香蕉视频 | 三日本三级少妇三级99 | 国产精品久久久久久久毛片 | ,午夜性刺激免费看视频 | 亚洲视频电影在线 | 国产精品综合在线 | 精品中文字幕在线 | 亚洲永久精品国产 | 黄a在线 | 在线 国产一区 | 免费热情视频 | 日韩精品免费一区 | 91精品视频在线 | 99理论片 | 国产日产在线观看 | 免费在线观看成年人视频 | 中文字幕欧美日韩va免费视频 | 国产又黄又爽无遮挡 | 97视频网站| 91在线看视频 | 天天干天天上 | 国产精品99免费看 | 久久成人国产精品免费软件 | 久久成人国产精品免费软件 | 九九99| 日韩一区二区免费播放 | 超碰日韩在线 | 久久久久久国产精品免费 | av三级在线看 | 高清av中文字幕 | 午夜国产在线观看 | 久久久影院一区二区三区 | 色多多视频在线观看 | 91九色porny在线 |