2015-10-09 59 views
0

我需要獲取所選行的id以突出顯示它。但我沒有定義id。這可能是什麼原因呢?點擊jqgrid行時獲取id爲undefined

我已附加click事件與UserDetails jqgrid。點擊UserDetails網格時將調用以下函數。

var selectUserGrid = function(event) { 
    var grid = $('#UserDetails'); 
     grid.jqGrid({ 
     onSelectRow : function(id) { 
      var i = id; 
     } 
     }); 
    grid.setSelection(i,true); 
} 

如何獲得點擊的行的ID

+1

我相信你之前有同樣的問題嗎? – guradio

+0

@皮卡這一個是不同的。 –

+0

爲什麼不把'grid.setSelection(i,true);''onSelectRow:'處理程序中的代碼? – vijayP

回答

1

我想你對click事件的處理順序有問題。

第一個問題是註冊其他click事件處理程序。你爲什麼這麼做? jqGrid已經註冊了一個click事件處理程序。它調用回調,觸發jqGridBeforeSelectRow事件然後它選擇該行,它調用onSelectRow回調,觸發jqGridSelectRow事件,調用onCellSelect回調,觸發器觸發jqGridCellSelect。換句話說,jqGrid進程click事件並允許使用回調和事件做一些額外的動作,其中與內部工作的jqGrid同步

如果您註冊第二click處理程序,那麼你可以不隔離那個click處理器將網格的行被選中後調用

我建議您使用上述回調或事件。此外,您在發佈的代碼片段中使用setSelection。另一方面還不清楚你如何填補電網。只有在jqGrd中插入相應的行後,才能撥打setSelection。我想你的真實代碼是另一個。儘管如此,您發佈的代碼無法正常工作。此外,代碼定義i變量裏面的onSelectRow回調,但你試圖在回調之外使用它。在這種情況下,i將永遠爲undefined