我试图用数据表的表的jQuery的语言改变。 我试着按下一个按钮来更改表的语言。
$('#prueba').live('click', function () {
var espanol = {
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_ registros",
"sZeroRecords": "No se encontraron resultados",
"sInfo": "Mostrando desde _START_ hasta _END_ de _TOTAL_ registros",
"sInfoEmpty": "No existen registros",
"sInfoFiltered": "(filtrado de un total de _MAX_ líneas)",
"sInfoPostFix": "",
"sSearch": "Buscar:",
"sUrl": "",
"oPaginate": {
"sFirst": "Primero",
"sPrevious": "Anterior",
"sNext": "Siguiente",
"sLast": "Último"
}
};
tablacliente.fnSettings().oLanguage= espanol;
tablacliente.fnDraw();
})
AFAIK,没有内置的方法或插件(目前),以动态地切换的语言。 但是你可以做的是破坏了数据表,并用新的语言设置重新初始化。
所以,你的按钮的点击处理程序更改为类似这样:
$('#prueba').click(function(){
if (typeof tablacliente != 'undefined' && tablacliente != null)
{
tablacliente.fnDestroy(); //important! you have to destroy first or you'll get an alert-error.
tablacliente = null;
tablacliente = $('#table_id').dataTable( {"oLanguage": espanol} ); //don't forget to include any other settings, if you have.
}
});
这是一个上的jsfiddle演示 。
如前所述原来的海报,这并不工作:
tablacliente.fnSettings().oLanguage = espanol; // does not work!
但这样的事情应该工作,而不必破坏表:
var oLanguage = tablacliente.fnSettings().oLanguage;
for (var field in espanol) {
oLanguage[field] = espanol[field];
}
试试这个:
tablacliente.fnSettings()oLanguage =西班牙语。 tablacliente.fnUpdate();
我的作品。
<?php
$countries = array (
"tr-TR"=>"//cdn.datatables.net/plug-ins/1.10.16/i18n/Turkish.json",
"de-DE" =>"//cdn.datatables.net/plug-ins/1.10.16/i18n/German.json",
"es-ES"=>"//cdn.datatables.net/plug-ins/1.10.16/i18n/Spanish.json"
);
?>
<script>
var locale='<?php echo $countries[locale_get_default()];?>';
$(document).ready(function () {
$('#page-params').dataTable({
responsive: true,
"oLanguage": {
"sUrl": locale
}
});
});
</script>