gpt4 book ai didi

javascript - "JqGrid is not a function"网格加载并工作后

转载 作者:行者123 更新时间:2023-11-29 22:34:56 25 4
gpt4 key购买 nike

首先...这是我正在使用的。JQuery 1.4.4JQuery-UI 1.8.11JqG​​rid 3.8.2

这是我在 HTML 中包含的内容

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>

<script type="text/javascript" src="/resources/default/scripts/jquery/jqGrid/i18n/grid.locale-en.js"></script>

<script type="text/javascript" src="/resources/default/scripts/jquery/jqGrid/jquery.jqGrid.3.8.2.min.js"></script>

所有这些脚本链接都正常工作。这是我的网格定义:

$('#adminPermissionsGrid').jqGrid({
url:'/admin/permission/get-permissions',
mtype: 'GET',
datatype: 'json',
jsonReader: {
id: 'id',
repeatitems: false
},
colModel: adminPermissionsColumnModel,
pager: '#adminPermissionsPager',
rowNum: 50,
altRows: true,
hidegrid: false,
sortname: 'resource',
autowidth: true,
height: 450,
gridview: true,
viewrecords: true,
caption: translate.admin_table_permission_caption,
onSelectRow: function(rowId, status) {
populatePermissionForm(rowId);
}
})
.navGrid('#adminPermissionsPager',{add:false, edit:false, del:false, search:false, refresh:true});

这里是“populatePermissionForm()”

function populatePermissionForm(rowId)
{
//TODO : WTF? Why can't I use jqgrid functions here?
var rowData = $('#adminPermissionsGrid').jqGrid('getRowData', rowId);
...
}

所以这是我的问题。我用 $(document).ready() 加载网格。网格按预期工作,其中包含大约 20 行数据。当我单击其中一行时,我在 Firebug 中收到以下错误:

$("#adminPermissionsGrid").jqGrid is not a function

它报告说这一行是罪魁祸首:

var rowData = $('#adminPermissionsGrid').jqGrid('getRowData', rowId);

我用 Firebug 检查了 $("#adminPermissionsGrid"),它看起来仍然好像网格对象附加到它。我花了几个小时试图找到这个问题的答案。似乎在初始加载后,我无法使用任何网格方法。我有一个 HACKY 解决方法可以浏览网格的 DOM,但我不想那样做......

有什么想法吗?

最佳答案

我在 jQgridZfDebug 使用 noConflict 方法时遇到了同样的问题。

首先加载 ZfDebug 工具栏脚本,然后它首先查找 jQuery... 没有机会找到它,因为它本身是第一个!所以它从 google api 获取旧版本的 jQuery,问题开始了。

作为一个选项,您可以向 ZfDebug 发送您想要的 jQuery 版本的路径,无论是本地的还是非本地的。在你的 application.ini 中:

zfdebug.jquery_path = "/my_path_to_jquery/jquery-xxx.min.js"

(或者如果您愿意,可以作为 Bootstrap 中选项数组的成员)。

关于javascript - "JqGrid is not a function"网格加载并工作后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5571526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com