我使用的jqGrid和對細胞的第一次點擊返回null,我得到一個空的sel_id:的jqGrid onCellSelect getGridParam selrow首先點擊
function onCellSelect(rowid, iCol, cellcontent, e) {
var DownlinkIndex = 7;
var UplinkIndex = 8;
var SalCodeIndex = 3;
if (iCol == DownlinkIndex) {
var grid = jQuery('#SalesPersonList');
var sel_id = grid.jqGrid('getGridParam', 'selrow');
var myCellData = grid.jqGrid('getCell', sel_id, 'Salespersonid');
var mySalName = grid.jqGrid('getCell', sel_id, 'Name');
ShowDownLink(myCellData, mySalName);
}
if (iCol == UplinkIndex) {
var grid = jQuery('#SalesPersonList');
var sel_id = grid.jqGrid('getGridParam', 'selrow');
var myCellData = grid.jqGrid('getCell', sel_id, 'Salespersonid');
var mySalName = grid.jqGrid('getCell', sel_id, 'Name');
ShowUpLink(myCellData, mySalName);
}
}
事件方法被解僱。 4個參數正在填充。但在第一次點擊時,它始終爲空。然後在第二次點擊時,它被設置爲第一次點擊。然後第三次點擊被設置爲第二次點擊。奧列格,如果你能幫忙,我會很感激。
我很高興我的舊帖子可以幫助你。你最初的主要問題 - onCellSelect和onBeforeSelect都會在**被點擊的行被選中之前被調用,所以'selrow'不能被使用。可以使用'rowid'而不是'sel_id'。你現在的代碼看起來也是正確的,但我建議你只將它改爲最小化:1)使用'var grid = jQuery(this);'而不是'var grid = jQuery('#SalesPersonList');'2)use像'var cmName = cm [iCol] .name; if(cmName ===「Uplines」|| cmName ===「Downlines」){'因爲兩個if都是相同的。最好的祝願。 – Oleg
謝謝奧列格!偉大的提示。我非常感謝您爲支持此組件所付出的努力。 – Rich
不客氣! – Oleg