Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE7中的jqGrid错误_Javascript_Jquery_Internet Explorer_Jqgrid - Fatal编程技术网

Javascript IE7中的jqGrid错误

Javascript IE7中的jqGrid错误,javascript,jquery,internet-explorer,jqgrid,Javascript,Jquery,Internet Explorer,Jqgrid,我正在使用jqgrid,它目前在FF、IE8、Chrome和Safari中运行良好。但在IE7中,我得到了以下错误: “this.rows.0.cells”为空或不是对象 jquery.jqGrid.min.js 代码: 0 行:122字符:278 以前有人来过吗?有已知的修复方法吗 更新 以下是我的PHP代码: $qry = 'SELECT stock_num, shape, carat, clarity, color, cut FROM rapnet_diamonds

我正在使用jqgrid,它目前在FF、IE8、Chrome和Safari中运行良好。但在IE7中,我得到了以下错误:

“this.rows.0.cells”为空或不是对象

jquery.jqGrid.min.js

代码: 0

行:122字符:278

以前有人来过吗?有已知的修复方法吗

更新 以下是我的PHP代码:

$qry = 'SELECT stock_num, shape, carat, clarity, color, cut 
        FROM rapnet_diamonds 
        WHERE (carat BETWEEN "0" AND "5") 
        AND (color BETWEEN "D" AND "Z") 
        AND ( CASE clarity 
            WHEN "FL" THEN 0 
            WHEN "IF" THEN 1 
            WHEN "VVS1" THEN 2 
            WHEN "VVS2" THEN 3 
            WHEN "VS1" THEN 4 
            WHEN "VS2" THEN 5 
            WHEN "SI1" THEN 6 
            WHEN "SI2" THEN 7 
            WHEN "I1" THEN 8 
            WHEN "I2" THEN 9 
            WHEN "I3" THEN 10 
            ELSE -1 END BETWEEN "0" AND "10") 
        AND ( CASE cut 
            WHEN "ideal" THEN 0 
            WHEN "excellent" THEN 1 
            WHEN "very good" THEN 2
            WHEN "good" THEN 3 
            WHEN "fair" THEN 4 
            WHEN "poor" THEN 5 
            ELSE -1 END BETWEEN "0" AND "5")';

$grid->SelectCommand = $qry;
// set the ouput format to json
$grid->dataType = 'json';
// Let the grid create the model
$grid->setColModel();


// Set grid caption using the option caption
$grid->setGridOptions(array(
    "caption"=>"Diamonds Found",
    "rowNum"=>200,
    "sortname"=>"diamond_id",
    "hoverrows"=>true,
    "sortable"=>0,
    "scroll"=>1,
    "height"=>300,
    "altRows"=>true,
    "colNames"=> array('ID', 'Shape', 'Carat', 'Clarity', 'Color', 'Cut')
    ));
// Change some property of the field(s)
$grid->setColProperty("diamond_id", array("label"=>"ID", "width"=>60));
// Enjoy
$grid->renderGrid('#grid','#pager',true, null, null, true,true);
$conn = null;
以下是生成的内容:

<table id='grid'></table>
    <div id='pager'></div>
    <script type='text/javascript'>
    jQuery(document).ready(function() {jQuery('#grid').jqGrid({"width":"650","hoverrows":true,"viewrecords":true,"jsonReader":{"repeatitems":false,"subgrid":{"repeatitems":false}},"xmlReader":{"repeatitems":false,"subgrid":{"repeatitems":false}},"gridview":true,"url":"myfirstgrid.php?yellow=","editurl":"myfirstgrid.php?yellow=","cellurl":"myfirstgrid.php?yellow=","onSelectRow":function(rowid, selected) 
    { 
        if(rowid != null) { 
           // alert("selected: "+rowid);
           loadSelectedDiamond(rowid);
        } 
    } ,"gridComplete":function() 
    { 
        diamondsReloaded();
    } ,"caption":"Diamonds Found","rowNum":200,"sortname":"diamond_id","sortable":0,"scroll":1,"height":300,"altRows":true,"colNames":["ID","Shape","Carat","Clarity","Color","Cut"],"datatype":"json","colModel":[{"name":"stock_num","index":"stock_num","editable":true,"sorttype":"string","key":true},{"name":"shape","index":"shape","editable":true,"sorttype":"string"},{"name":"carat","index":"carat","editable":true,"sorttype":"numeric"},{"name":"clarity","index":"clarity","editable":true,"sorttype":"string"},{"name":"color","index":"color","editable":true,"sorttype":"string"},{"name":"cut","index":"cut","editable":true,"sorttype":"string"}],"postData":{"oper":"grid"},"prmNames":{"page":"page","rows":"rows","sort":"sidx","order":"sord","search":"_search","nd":"nd","id":false,"filter":"filters","searchField":"searchField","searchOper":"searchOper","searchString":"searchString","oper":"oper","query":"grid","addoper":"add","editoper":"edit","deloper":"del","excel":"excel","subgrid":"subgrid","totalrows":"totalrows"},"pager":"#pager"}); });
    </script>

jQuery(document).ready(function(){jQuery('#grid').jqGrid({“宽度”:“650”,“悬停行”:true,“查看记录”:true,“jsonReader”:{“重复项”:false,“子网格”:{“重复项”:false},{“重复项”:false,“子网格”:{“重复项”:false},{“网格视图”:true,“url”:“myfirstgrid.php?yellow=”,“editurl”:“myfirstgrid.php?yellow=”,“cellurl”:“myfirstgrid.php?yellow=”,“onsetrow”:函数(rowid,选中)
{ 
如果(rowid!=null){
//警报(“选定:+rowid”);
加载选定的diamond(rowid);
} 
},“gridComplete”:函数()
{ 
金刚石负载();
},“标题”:“找到钻石”,“rowNum”:200,“sortname”:“钻石id”,“可排序的”:0,“卷轴”:1,“高度”:300,“altRows”:true,“colNames”:[“id”,“形状”,“克拉”,“清晰度”,“颜色”,“切割”],“数据类型”:“json”,“colModel”:[{“名称”:“股票数量”,“指数”:“股票数量”,“可编辑的”:true,“sorttype”:“字符串”,“键”:true},{“名称”:“形状”,“指数”:“形状”,“可编辑的”:true,”sorttype:“字符串”},{“名称”:“克拉”,“索引”:“克拉”,“可编辑的”;“真”,sorttype:“数字”},{“名称”:“清晰度”,“可编辑的”;“真”,sorttype:“字符串”},{“名称”;“颜色”;“索引”;“颜色”;“可编辑的”;“真”,sorttype:“字符串”;“剪切的”;“可编辑的”;“真”,sorttype:“postData:{“操作的”;“网格”;“prmNames:{“页面”;“页面”;“页面”;“页面”“,”行“:”行“,”排序“:”sidx“,”排序“,”搜索“,”搜索“,”nd“,”nd“,”id“,”假“,”过滤器“,”过滤器“,”搜索字段“,”搜索操作“,”搜索字符串“,”操作“,”操作“,”查询“,”网格“,”添加“,”编辑“,”删除“,”删除“,”excel“,”子网格“:”子网格“,”子网格“,”总计行“,”总计行“,”分页“,”分页“;”;

我正在使用jqgrid 3.8版

在您发布了带有测试解决方案的链接后,我可以自己检查一下这个问题。我可以看到主页从URL加载数据。完整的get请求如下所示。我还可以看到,从服务器返回的数据不是正确的JSON数据。在我看来,这是你的主要问题。数据如下所示

4cb2
{"records":"136635","page":1,"total":684,"rows":[{...}]}
0
部分
{“records”:“136635”,“page”:1,“total”:684,“rows”:[{…}]}
是jqGrid需要的正确JSON数据。我用进行了测试,可以看到相同的问题,但是另一个离我更近的页面没有问题

我建议您测试演示页面,并在您描述的IE7问题所在的同一台计算机上进行测试


我只是jqGrid的用户,不是jqGrid的开发人员,所以如果您在jqGrid PHP版本中发现了一些问题,请将其发布到。不久前,我个人购买了ASP.NET MVC订阅,其中包含完整的源代码,以支持jqGrid的开发人员(但到目前为止只使用jqGrid的免费版本),因此我只能访问ASP.NET MVC代码,不能访问PHP版本。因此,如果PHP版本中存在问题,您必须在论坛上发布。

尝试使用开发代码,并实际查看出现问题的行号。另外,您想对导致此问题的库做些什么?您如何接收此类错误可能有不同的原因。您使用哪个版本的jqGrid?你能发布一个重现你的问题的代码示例吗?在Firebug中的Fiddler工具中,您可以保存服务器发送回jqGrid的数据。此测试数据也可能有帮助。@Oleg请查看我的更新。谢谢。它看起来更像是一个商业版的jqGrid。你试图得到官方的支持吗?此外,我之前曾写信告诉您,问题可能是将从服务器发送的数据。PHP代码不提供任何数据。如果发布数据,可以将保存在文本文件中的数据保存到服务器,并在没有任何服务器组件的情况下测试代码。JavaScript函数
diamondsreload()
loadSelectedDiamond()
您当前未包含。@Oleg,diamondsreload在另一个位置插入找到多少个结果,loadSelectedDiamond在另一个位置插入有关他们单击的行的更多数据。除了调用:
jQuery(“#grid”).getGridParam(“records”)
之外,它们并不真正与网格交互。这是一个商业版本,但目前只是一个演示我正在评估,我给他们发了一封电子邮件,要求支持。谢谢。啊哈!联系他们后,他们解决了一个已知的问题。他们说我需要做的就是下载新版本。谢谢你的帮助!