2011-05-25 57 views
0

我想在onSelectRow调用中实现在FF/Chrome/IE8中工作的功能。我听说过,“onSelectRow是越野车,你可以使用gridComplete。”所以我实现了一个jQuery函数来alert()被点击的行的id,它可以在IE8和IE6中使用,但不能在IE7中使用,它不会执行任何操作。所以我在gridComplete的顶部添加了一个未经修改的alert(),并且没有任何东西,至少就IE7而言。该页面加载时没有报告错误,但没有提示框。如何在jqGrid中为IE7/IE6友好的代理生成onSelectRow?

是否有替代的IE7友好的方法来告诉当一个比较复杂的jqGrid已完成加载?可以调用setTimeout()来继续检查它,然后在准备好时运行XYZ?

- 编辑 -

我已经把引擎收录源在http://pastebin.com/3D2AUjC9。所有的

+0

我也试过在loadComplete警报;似乎没有发生。 – JonathanHayward 2011-05-25 18:25:57

+1

'gridComplete'中没有提示意味着代码在调用'alert'之前有异常。您应该在调试器中启动相同的代码。例如,您至少可以使用[开发人员工具for IE](http://www.microsoft.com/downloads/en/details.aspx?FamilyID=95e06cbe-4940-4218-b75d-b8856fced535)。而且像年轻人这样的问题可以非常重要你使用jQuery,jqGrid和jQuery UI的哪个版本。可用于重现问题的代码可能会有所帮助。 – Oleg 2011-05-25 19:08:06

+0

代码可以在左下角没有黄色图标的情况下抛出异常吗?加载时没有黄色三角形。在我的最后,我试图获得将运行开发人员工具的IE7安装;我正在使用IE7 Standalone,即使它安装了,它显然也不能运行Developer Tools。 – JonathanHayward 2011-05-25 19:41:39

回答

1

首先,你应该从你的代码中删除一些语法错误。富勒例如更换

<script src="js/jquery.jBreadCrumb.1.1.js" type="text/javascript" 
     language="JavaScript">> 

<script src="js/jquery.jBreadCrumb.1.1.js" type="text/javascript">/script> 

相反的<script language="JavaScript">你应该使用<script type="text/javascript">

你应该在id = “autoDistID” 修复重复。

删除probebly第一</li>从下面的代码:

<li><span class="contacts"></span><a href="#">Your 
approval requests summary</li></a> 5/3/2011</li> 

您的文档具有 </body>和两个</html>关闭标签(见线828,829,880,代码881)。

而且你使用HTML5 DOCTYPE(<!doctype html>),但使用许多obsolate属性:看

<table cellpadding="2px" cellspacing="0" border="0"> 

例如。我建议您清除您的代码并在http://validator.w3.org中进行验证。

现在你jqGrid的问题。你包括这打破jqGrid的的搜索和CAN如下,以更加错误,因为jqGrid的的主代码已经包含新执行高级搜索的jquery.jqGrid.src.jsjquery.searchFilter.js过滤器插件:在grid.filter.js模块。

现在我们回到您的主要问题,不要致电gridCompleteloadComplete。我没有在您的代码loadError中找到,如果您从服务器获取数据,这是严格建议的。我想,你在处理服务器响应时有例外。在loadError而不是gridCompleteloadComplete将被调用。

the answer里面有详细的例的loadError如何使用。

+0

谢谢。我已经通过并更正了大部分验证错误(并非全部),并将jquery.searchFilter.js注释掉了。我还指定了一个显然没有被调用的loadError。新的pastebin位于http://pastebin.com/xP17UgBk – JonathanHayward 2011-05-26 14:46:11

+0

@JonathanHayward:如果您发布了可用于重现问题的测试JSON数据,或者发布工作解决方案的网址,我可以尝试进行调试。 – Oleg 2011-05-26 16:16:40

+0

谢谢。行为会触发JSON和生产数据,以及骨架/空JSON:'{“page”:1,“total”:0,“records”:0,“rows”:[]}'。有警报,但没有一个是从IE7调用的。 – JonathanHayward 2011-05-27 14:30:50