first :nth-childセレクターを使用<td>
して、グリッドにチェックボックスを持つ要素を取得できます。次に、セレクターを使用>input:checked
して、チェックされたすべてのチェックボックスを取得できます。要求されたチェックボックスを含む jQuery オブジェクトを.closest("tr.jqgrow")
取得したら、チェックボックスを持つ行を取得するために使用できます。行のIDが必要です。$.map
配列内のすべての ID を取得するために使用できます。完全なコードは
$("#getIds").button().click(function () {
var $checked = $grid.find(">tbody>tr.jqgrow>td:nth-child(" +
(iCol + 1) + ")>input:checked"),
ids = $.map($checked.closest("tr.jqgrow"),
function (item) { return item.id; });
alert("The list of rowids of the rows with checked chechboxs:\n" + ids.join());
});
関数iCol
を使用して取得できるチェックボックス付きの列のインデックスgetColumnIndexByName
var getColumnIndexByName = function (grid, columnName) {
var cm = grid.jqGrid("getGridParam", 'colModel'), i, l;
for (i = 0, l = cm.length; i < l; i += 1) {
if (cm[i].name === columnName) {
return i; // return the index
}
}
return -1;
};
古い回答でよく使用していました。
デモでは、上記のコードをライブで示します。