JQGRID报错,提示 '$.jgrid.formatter.integer' 为空或不是对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQGRID报错,提示 '$.jgrid.formatter.integer' 为空或不是对象相关的知识,希望对你有一定的参考价值。

消息: '$.jgrid.formatter.integer' 为空或不是对象
行: 1526
字符: 5
代码: 0
URI: http://localhost/js/jquery.jqGrid.js

JQ版本
<script src="/js/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="/js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
<!-- and at end the jqGrid Java Script file -->
<script src="/js/grid.locale-cn.js" type="text/javascript"></script>
<script src="/js/jquery.jqGrid.js" type="text/javascript"></script>
<script src="/js/jqModal.js" type="text/javascript"></script>
<script src="/js/jqDnR.js" type="text/javascript"></script>

数据通过mysql 用JSON传递

参考技术A 您好!缺少grid.locale-cn.js这个js的引用。 参考技术B 这么好的一个问题没人回答, 哎.

来自 USGS geojson 数据的 jqGrid

【中文标题】来自 USGS geojson 数据的 jqGrid【英文标题】:jqGrid from USGS geojson data 【发布时间】:2013-03-20 09:59:53 【问题描述】:

我正在尝试在 jqGrid 中读取并发布一组从 USGS 存储库中提取的地震 GeoJSON 数据。 请求被接受,但在可能满足标头元数据时显示“Uncaught SyntaxError: Unexpected token”。

$(function () 
    'use strict';
    $.extend($.jgrid.search, multipleSearch: true, multipleGroup: true, overlay: 0);
    $('#grid').jqGrid(
        url: 'http://earthquake.usgs.gov/earthquakes/feed/geojson/2.5/week?callback=?',
        datatype: 'json',
        colModel: [
            name: 'mag', label: 'MAGNITUDO', width: 150, jsonmap: 'properties.mag', sorttype: 'number',
formatter: 'number', formatoptions: decimalPlaces: 2,
            name: 'place', label: 'LOCALITA', width: 150, jsonmap: 'properties.place',
            name: 'url', label: 'URL', width: 150, jsonmap: 'properties.url'
        ],
        toppager: true,
        gridview: true,
        rowList: [10, 20, 50, 10000],
        rowNum: 10,
        jsonReader: 
            root: 'features',
            repeatitems: false
        ,
        loadonce: true,
        ignoreCase: true,
        height: 'auto'
    ).jqGrid('navGrid', '#grid_toppager', add: false, edit: false, del: false)
      .jqGrid('filterToolbar', stringResult: true, defaultSearch: 'cn', searchOnEnter: false);
    $("#grid_toppager option[value=10000]").text('All');
);

你有什么解决办法吗? 提前致谢。

【问题讨论】:

你测试过JSON是否有效? 虽然 GeoJSON 是地理空间数据,但指向根是在“特征”上。我不认为有问题。也许我错了? 【参考方案1】:

我查看了 geojson 的文档,我想我找到了问题的原因。 GeoJSON(P) 似乎使用eqfeed_callback 作为回调名称(请参阅here)。所以我修复了 jqGrid 的一些选项,这些选项用于以下内容:

url: 'http://earthquake.usgs.gov/earthquakes/feed/geojsonp/2.5/week',
datatype: 'jsonp',
postData: '',
ajaxGridOptions:  jsonp: false, jsonpCallback: 'eqfeed_callback', cache: true,

The modified demo 现在可以工作并显示如下结果

更新: The modified demo 使用 GeoJSON 的新 URL 和 free jqGrid 的新版本 (4.14.1)。

【讨论】:

伟大的奥列格,现在我更好地理解了 jquery 中的回调函数的功能。谢谢 @user2190221:不客气!如果问题现在解决了,您应该"accept" 回答。顺便here和here你可以在jqGrid中找到另一个使用JSONP的例子。

以上是关于JQGRID报错,提示 '$.jgrid.formatter.integer' 为空或不是对象的主要内容,如果未能解决你的问题,请参考以下文章

jGrid + echart 后台管理

免费的Jqgrid和自定义格式化复选框

jqgrid中的确认框

jqGrid带checkbox的,如何实现选中行的时候不勾选当前行的复选框?

jqgrid记录

来自 USGS geojson 数据的 jqGrid