2016-11-16 26 views
0

動態更改文本,我們需要在語言動態更改文本「zeroRecords」。如何DataTable中

我曾嘗試在fnDrawCallback

userTable.fnSettings().language= {"zeroRecords":"Now empty"}; 

編輯:

我需要像「的東西顯示消息{變量}東西{變量2},其中的變量值是從隱藏的輸入拾取。或者通過響應

回答

0

你想這樣的:

這是一個例子。

var langFile = "../Scripts/jquery.dataTables.en-US.txt"; 

var oTable = $('.gvDataTable').dataTable({ 
    "oLanguage": { 
     "sUrl": langFile 
    }, 
    "sScrollX": "99%",  
    "fnDrawCallback": function (oSettings) {/*Re-Create serial no for the table*/ 
     /* Need to redo the counters if filtered or sorted */ 
     if (oSettings.bSorted || oSettings.bFiltered) { 
      for (var i = 0, iLen = oSettings.aiDisplay.length; i < iLen; i++) { 
       $('td:eq(0)', oSettings.aoData[oSettings.aiDisplay[i]].nTr).html(i + 1); 
      } 
     } 
     /*Put checkboxlist after filter to show/hide columns after excel export*/ 
     $('.cbShowOrHideGvCols').appendTo('div.DTTT_container'); 
    }, 

}); 

參見:http://asp-tech.blogspot.com/2013/11/jquery-datatables-change-language.html

+0

沒有實際上我需要像「東西{}可變的東西{變量2}顯示的消息。我不知道我們是否可以實現用你的代碼。變量值應隱藏的價值被拾起。 – stefun

1

在此寫入時,參照最新的1.10.12版本,你還是離不開重新初始化數據表沒有改變插件語言字符串。但是,因爲你是指zeroRecords可以動態改變的內容。數據表中插入只包含一個<td>特殊<tr>

<td colspan="#colcount" class="dataTables_empty">...</td> 

所以,你可以很容易地覆蓋內容的draw.dt事件處理程序:

var someVar = 'this is a dynamic variable'; 

table.on('draw.dt', function() { 
    var $empty = $('#example').find('.dataTables_empty'); 
    if ($empty) $empty.html('Now empty : ' + someVar) 
}) 

看到http://jsfiddle.net/1273zafx/並單擊明確