我想在onSelectRow调用中实现在FF / Chrome / IE8中运行的功能。我听说过,“onSelectRow有错误;你可以使用gridComplete。”所以我实现了一个jQuery函数来alert()被点击的行的id,它可以在IE8和IE6中工作,但不能在IE7中工作,它不会做任何事情。所以我在gridComplete的顶部添加了一个简单的alert()并且得到了......没有,至少就IE7而言。页面加载时没有报告错误但没有警报框。
是否存在备用IE7友好方法来判断某个复杂的jqGrid何时完成加载?可以调用setTimeout()来继续检查它,然后在它准备就绪时运行XYZ吗?
- 编辑 -
我已将源代码放在了http://pastebin.com/3D2AUjC9的pastebin中。
答案 0 :(得分: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”中的重复项。
从以下代码中探测到第一个</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>
),但使用许多绝对属性:请参阅
<table cellpadding="2px" cellspacing="0" border="0">
例如,。我建议您清除代码并在http://validator.w3.org。
中进行验证现在关于你的jqGrid问题。您在jquery.searchFilter.js
之后包含了旧 jquery.jqGrid.src.js
过滤器插件,它会破坏jqGrid的搜索,并且可能会出现更多错误,因为jqGrid 的主要代码已经包含高级搜索的新实现:grid.filter.js模块。
现在我们回到您的主要问题,而不是调用gridComplete
和loadComplete
。我没有在您的代码loadError中找到,如果您从服务器获取数据,则严格建议使用。我想,你在处理服务器响应时有异常。如果将调用loadError而不是gridComplete
或loadComplete
。
查看the answer,其中详细说明了如何使用loadError。