2013-01-17 57 views
3

我試圖改變與數據表的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(); 
}) 
+2

而且,這是什麼問題? – madth3

回答

0

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. 
    } 
}); 

這裏是一個demo on jsFiddle

+1

呃,沒有其他選擇了嗎?這在表現上很糟糕。想象一下,我有6張桌子充滿了數據,我需要重新生成一切,只是爲了更改一些標籤... T_T – Wood

1

如前所述原來的海報,這不起作用:

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

,但這樣的事情應該工作,而不必破壞表:

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

試試這個:

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

適合我。

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

您的答案不正確,因爲它沒有解釋如何動態更改語言。 –

+0

你是對的我改變了答案 –

+0

我不是一個PHP開發人員,但現在我正在寫一個自由職業者的PHP項目這工作在我的系統 –