数据表的变化动态语言(Datatables change language dynamically)

2019-07-18 07:32发布

我试图用数据表的表的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();
})

Answer 1:

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演示 。



Answer 2:

如前所述原来的海报,这并不工作:

tablacliente.fnSettings().oLanguage = espanol;    // does not work!

但这样的事情应该工作,而不必破坏表:

var oLanguage = tablacliente.fnSettings().oLanguage;
for (var field in espanol) {
    oLanguage[field] = espanol[field];
}


Answer 3:

试试这个:

tablacliente.fnSettings()oLanguage =西班牙语。 tablacliente.fnUpdate();

我的作品。



Answer 4:

<?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>


文章来源: Datatables change language dynamically