私はjqGrid 3.5(フル)をほとんど使用しています。複数選択オプションをオンにしてデータを取得しています。私が作業することができない1つの部分は、選択された行を取得することです。 docs 状態:
選択した行を取得するには、getGridParam( 'selarrrow')メソッドを使用できます。私たちの例を使用して、これを書くことができます:
jQuery( "#grid_id")。getGridParam( 'selarrrow');
これは、選択された行を持つ配列を返します(つまり、上の図の["11"、 "9"])。配列の値は、選択された行のIDです。
これは機能せず、未定義の値を返します(はい、行を選択しています)。また、グリッド構成にxmlreader:idセットアップがあります。
誰かが私を見る方向に向けることができますか?私は無駄に思いつくことができるすべてのものを試しました。
UPDATE:redsquareは、不正なセレクターについて正しいものでした。私の包含divはグリッドと同じIDを持っていました。セットアップコードを確認しようとすると、セレクターがtable#results
はそれを変更し、それはすべて機能します。皆さんありがとう。正解を投稿していただければ、正解です。
最初にセレクターを確認してください。それらが正しい場合は、ページをアップロードするか、jsbin.comで問題を再現してみてください。 :)
これを試してください。選択した行のIDの配列が返されます。
var s;
s = jQuery("#yourGridName").jqGrid('getGridParam','selarrrow');
alert(s);
var rowKey = jQuery("#yourGridName").jqGrid('getGridParam','selrow');
var rowObject = jQuery('#yourGridName').getRowData(rowKey);
これにより、行の詳細と通常の使用も示されます。演算子を使用すると、列の値を取得できます。
JQueryオブジェクトではなく、jqGrid itseftを参照する必要があります。
したがって、グリッドの初期化中に、次のようなコードを記述します。
var myGrid = $("#list")..jqGrid(....);
イベントハンドラーで、選択した行のIDを取得する場合は、次のように記述する必要があります。
var rows = myGrid.getGridParam('selarrrow');
選択した行を取得する別の方法:jQuery('#grid').jqGrid('getGridParam','selarrrow');