web-dev-qa-db-ja.com

jqGridから選択した行を取得する

私はjqGrid 3.5(フル)をほとんど使用しています。複数選択オプションをオンにしてデータを取得しています。私が作業することができない1つの部分は、選択された行を取得することです。 docs 状態:

選択した行を取得するには、getGridParam( 'selarrrow')メソッドを使用できます。私たちの例を使用して、これを書くことができます:

jQuery( "#grid_id")。getGridParam( 'selarrrow');

これは、選択された行を持つ配列を返します(つまり、上の図の["11"、 "9"])。配列の値は、選択された行のIDです。

これは機能せず、未定義の値を返します(はい、行を選択しています)。また、グリッド構成にxmlreader:idセットアップがあります。

誰かが私を見る方向に向けることができますか?私は無駄に思いつくことができるすべてのものを試しました。

UPDATE:redsquareは、不正なセレクターについて正しいものでした。私の包含divはグリッドと同じIDを持っていました。セットアップコードを確認しようとすると、セレクターがtable#resultsはそれを変更し、それはすべて機能します。皆さんありがとう。正解を投稿していただければ、正解です。

14
Andrew Burns

最初にセレクターを確認してください。それらが正しい場合は、ページをアップロードするか、jsbin.comで問題を再現してみてください。 :)

8
redsquare

これを試してください。選択した行のIDの配列が返されます。

var s;
s = jQuery("#yourGridName").jqGrid('getGridParam','selarrrow');
alert(s);
18
av1987
var rowKey = jQuery("#yourGridName").jqGrid('getGridParam','selrow');
var rowObject = jQuery('#yourGridName').getRowData(rowKey);

これにより、行の詳細と通常の使用も示されます。演算子を使用すると、列の値を取得できます。

4
Mahesh Malpani

JQueryオブジェクトではなく、jqGrid itseftを参照する必要があります。

したがって、グリッドの初期化中に、次のようなコードを記述します。

var myGrid = $("#list")..jqGrid(....);

イベントハンドラーで、選択した行のIDを取得する場合は、次のように記述する必要があります。

var rows = myGrid.getGridParam('selarrrow'); 
3
Leonard

選択した行を取得する別の方法:jQuery('#grid').jqGrid('getGridParam','selarrrow');

2
cybosser