问题描述
|
我想在onSelectRow调用中实现在FF / Chrome / IE8中运行的功能。我听说,“ onSelectRow有问题;您可以使用gridComplete。”因此,我实现了一个jQuery函数,以Alert()被单击的行的ID,它在IE8和IE6中有效,但在IE7中不起作用。它什么也没做。因此,我在gridComplete的顶部添加了一个未经修饰的alert(),却没有得到任何好处,至少就IE7而言。该页面加载时没有报告的错误,但没有警报框。
是否有替代IE7友好的方法来告知何时有些复杂的jqGrid完成加载?可以调用setTimeout()继续检查它,然后在准备好后运行XYZ吗?
- 编辑 -
我将源代码放在了http://pastebin.com/3D2AUjC9的pastebin中。
解决方法
首先,您应该从代码中删除一些语法错误。前例替换
<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 type=\"text/javascript\">
来代替<script language=\"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.jqGrid.src.js
之后包含旧的jquery.searchFilter.js
过滤器插件,这会中断jqGrid的搜索并可能导致更多错误,因为jqGrid的主要代码已经包含了Advanced Searching的新实现:grid.filter.js模块。
现在,我们不调用main12ѭ和loadComplete
回到您的主要问题。在您的代码loadError中找不到我,如果您从服务器获取数据,则强烈建议您这样做。我想,您在处理服务器响应时有例外。在这种情况下,将调用loadError而不是gridComplete
或loadComplete
。
查看包含详细示例的答案,如何使用loadError。