首先...這是我在用。 的JQuery 1.4.4 jQuery的UI 1.8.11 的jqGrid 3.8.2「的jqGrid不是一個功能」網格後載入和工作
這裏是我包括在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行數據。當我點擊我得到的螢火以下錯誤行之一:
$("#adminPermissionsGrid").jqGrid is not a function
據報道,這條線是罪魁禍首:
VAR rowData = $( '#adminPermissionsGrid')的jqGrid(」。 getRowData',rowId);
我檢查$(「#adminPermissionsGrid」)與螢火蟲又彷彿網格對象附加到它仍然看起來。我花了數小時試圖找到答案。看起來在初始加載後,我不能使用任何網格方法。我有一個哈克變通方法,衝浪電網的DOM,但我不想這樣做...
有什麼想法?
我的精神力量告訴我,你的第一次調用'的jqGrid()'和調用'populatePermissionForm()'的'$()'函數的變化。除了jQuery,你在頁面中使用其他框架嗎? – 2011-04-06 19:23:04
您可以嘗試包括直接在onSelectRow'的'populatePermissionForm'的'代碼,看看你是否有同樣的問題。您還可以嘗試製作可用於重現問題的演示。如果附加地發佈來自服務器的測試JSON響應(你可以捕捉與[提琴手]的數據(http://www.fiddler2.com/fiddler2/)或[螢火蟲](http://getfirebug.com/)) ,可以在沒有任何服務器組件的情況下使用演示。 – Oleg 2011-04-06 20:15:12
嘗試在onSelectRow中包含populatePermissionForm的代碼,但沒有奏效。 @ frederic-hamidi你是精神力量是正確的,如果我從$它改變它爲jQuery它的作品。但是,我沒有使用任何其他框架。所以我必須弄清楚...但感謝讓我開始走正確的道路。 – Bob 2011-04-07 00:15:28