3

datatablesを使用したテーブルの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();
})
4

4 に答える 4

3

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のデモです。

于 2013-01-17T02:04:58.787 に答える
2

元のポスターが述べたように、これは機能しません:

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

しかし、このようなものは、テーブルを破壊することなく機能するはずです。

var oLanguage = tablacliente.fnSettings().oLanguage;
for (var field in espanol) {
    oLanguage[field] = espanol[field];
}
于 2014-04-17T15:48:23.927 に答える
2
<?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>
于 2017-12-05T19:40:59.937 に答える
0

これを試して:

tablacliente.fnSettings()。oLanguage = espanol; tablacliente.fnUpdate();

私のために働きます。

于 2016-11-22T12:52:47.527 に答える