Datatable日期筛选器语言无法切换至土耳其语的问题求助
解决Datatable日期筛选器语言显示为英文的问题
我看你遇到了Datatable DateTime筛选器语言无法切换成土耳其语的问题,咱们一步步来搞定它:
1. 先确认引入土耳其语本地化文件
Datatables的DateTime扩展需要单独加载对应语言的本地化脚本,你得在页面里按顺序引入(先核心脚本,再语言文件):
<!-- 加载DateTime核心脚本 --> <script src="https://cdn.datatables.net/datetime/1.5.1/js/dataTables.dateTime.min.js"></script> <!-- 加载土耳其语本地化文件 --> <script src="https://cdn.datatables.net/datetime/1.5.1/js/dataTables.dateTime.tr.min.js"></script>
2. 修正DateTime初始化的参数错误
你之前尝试的代码里有语法错误(重复参数、多余逗号),而且DataTables本身的语言也需要同步设置,这样整个表格的交互文字也能统一成土耳其语。
修正后的完整代码如下:
var minDate, maxDate; // 自定义筛选函数,用于在第四列中搜索两个值之间的数据 $.fn.dataTable.ext.search.push( function( settings, data, dataIndex ) { var min = minDate.val(); var max = maxDate.val(); var date = new Date( data[4] ); if ( ( min === null && max === null ) || ( min === null && date <= max ) || ( min <= date && max === null ) || ( min <= date && date <= max ) ) { return true; } return false; } ); $(document).ready(function() { // 创建日期输入框,正确设置locale为土耳其语 minDate = new DateTime($('#min'), { format: 'MMMM Do YYYY', locale: 'tr-TR' }); maxDate = new DateTime($('#max'), { format: 'MMMM Do YYYY', locale: 'tr-TR' }); // 初始化DataTables,同步设置表格语言为土耳其语 var table = $('#example').DataTable({ language: { url: 'https://cdn.datatables.net/plug-ins/1.13.7/i18n/tr.json' } }); // 日期变更时重新筛选表格 $('#min, #max').on('change', function () { table.draw(); }); });
关键改动说明:
- 移除了你之前代码里无效的重复参数(比如
language: 'tr-TR'、lang: 'tr-TR'),只保留DateTime识别的locale: 'tr-TR' - 给DataTables初始化添加
language配置,引入土耳其语语言包,让表格的分页、搜索等提示文字也同步切换 - 确保脚本加载顺序正确,这是本地化语言生效的前提
这样设置后,日期筛选器里的月份、星期等文字就会显示为土耳其语了。
内容的提问来源于stack exchange,提问作者yovos73557
相关产品推荐
相关产品推荐

