問題是我能夠獲得編輯對話框,點擊當前頁面有10條記錄的鏈接。但是當我導航到第二頁時,我沒有得到編輯對話。請幫助 在此先感謝爲jqGrid的所有頁面啓用editGridRow方法
colModel:{ name: "FirstName", index: "FirstName", width: 100, sortable: true, editable: true, formatter: GetRow, unformat: GetCellValue },
function GetRow(cellvalue, options, rowObject) {
return "<a href='#' class='GetLink'>" + cellvalue + "</a>";
}
$('.GetLink').click(function() {
var row = $('#grid').jqGrid('getGridParam', 'selrow');
if (row) {
$('#grid').jqGrid('editGridRow', row, { recreateForm: true, closeAfterEdit: true, closeOnEscape: true, reloadAfterSubmit: false,});
}
else {
alert("Select the row you want to edit");
}
});
請在您的[上一個問題](http://stackoverflow.com/a/40652291/315935)上重新閱讀我的答案。你現在應該使用**'$('。GetLink')。click',因爲它在**當前存在的**'a.GetLink'上註冊鏈接。如果用戶導航到第二頁或按某列排序,則網格體將**重新創建**。以前創建的所有'a.GetLink'都將被刪除,新的'a.GetLink'將不包含事件處理程序。你可以通過在'loadComplete'中移動'$('。GetLink').''來解決這個問題,但是我建議你使用'beforeSelectRow'。 – Oleg
@Oleg你可以告訴如何使用$('。GetLink')。點擊loadcomplete事件或beforeSelectRow ... 我不知道這些事件.. – Supreeth
如果你包含更多完整的代碼,例如,您使用的是或者如果您在JSFiddle中創建演示,那麼演示問題並修復代碼。 – Oleg