You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 15:42:47