2016-11-16 44 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/并单击明确