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

从free jqGrid 4.15升级到Gurrido 5.5.5出现decimalSeparator读取报错

问题定位步骤
  • 对比正常页面和异常页面的静态资源加载顺序:Guriddo jqGrid 5.x要求资源加载必须遵循「jQuery → jqGrid主js → 对应语言的i18n本地化文件」的顺序,异常页面大概率是遗漏了本地化文件引入,或者加载顺序不符合要求。
  • 检查异常页面的jqGrid配置:free jqGrid 4.15内置了默认的英文本地化兜底配置,就算未加载本地化文件也不会触发报错,但Guriddo 5.x没有内置兜底配置,必须显式初始化本地化参数,正常页面就是因为已经完成了本地化配置才可以正常运行。
  • 打开浏览器开发者工具的Sources面板,格式化jquery.jqGrid.min.js后定位到472行,确认该行代码读取的decimalSeparator是否属于$.jgrid.regional下的配置,验证该全局对象是否未完成初始化。
  • 核对JSP公共头文件的资源引入规则,确认异常页面是否遗漏了引入包含jqGrid资源配置的公共头,或是单独引入了jqGrid主js但未同步引入本地化文件。
问题解决方法
  • 方案1:统一资源加载顺序,在所有用到jqGrid的JSP公共头部固定引入顺序:
<!-- 优先加载jQuery -->
<script src="/EVC/resources/js/jquery.min.js"></script>
<!-- 再加载jqGrid主js文件 -->
<script src="/EVC/resources/js/jquery.jqGrid.min.js"></script>
<!-- 最后加载对应语言的本地化文件,例如中文对应grid.locale-cn.js -->
<script src="/EVC/resources/js/i18n/grid.locale-cn.js"></script>
  • 方案2:新增全局兜底配置,避免部分页面漏引文件报错,在jqGrid主js引入后添加如下全局配置:
// 初始化本地化配置兜底
$.jgrid.regional = $.jgrid.regional || {};
$.jgrid.regional['cn'] = $.jgrid.regional['cn'] || {
    decimalSeparator: '.',
    thousandsSeparator: ',',
    // 可按需补充其他本地化参数
};
// 指定全局默认使用的本地化语言
$.jgrid.defaults.regional = 'cn';
  • 方案3:若仅单页面使用特殊数值格式,也可以在对应表格的配置项中显式指定参数,跳过全局配置读取:
$("#yourGridId").jqGrid({
    // 其余表格配置保持不变
    decimalSeparator: '.',
    // 其余表格配置保持不变
});
  • 额外注意Guriddo 5.x和free jqGrid 4.x存在多处配置项差异,升级过程中需要逐一核对原有自定义配置,避免触发其他属性未定义类报错。

内容的提问来源于stack exchange,提问作者guru mani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:18:03