2016-11-16 32 views
0

言語でテキストを動的に "zeroRecords"に変更する必要があります。Datatableでテキストを動的に変更する方法

Iは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

"something {variable} something {variable 2}"のようなメッセージを表示する必要はありません。私はあなたのコードを使用して実装できるかどうかわかりませんが、変数の値は隠し値から選択する必要があります。 – stefun

1

を、最新バージョン1.10.12を参照して、あなたはまだのdataTableを再初期化することなく、どれもプラグインの言語の文字列を変更することはできません。しかし、zeroRecordsを参照しているので、内容を動的に変更することができます。 DataTableが一つだけ<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/見ると明確をクリックします。

関連する問題