2015.10.28
jqGrid
最新jqGrid 行クリックの挙動
以前まではバージョン4.6.0を使っていて今回新しいプロジェクトから
現時点(2015/10)で最新のバージョン4.9.0-rcへ変更しました。
変更後に気づいたのは行クリックでハイライト(選択状態)になり、
再度クリックするとが消えました。(未選択状態)
以前までのバージョンではそのような挙動ではなかったと思います。
再度同じ行をクリック。
“multiselect: false”にしてますが、
このように選択を切り替えるトグルになってます。
これを回避する方法です。
var selrow; // グローバル変数 jQuery("#list").jqGrid({ . . . beforeSelectRow: function(rowid, e) { if (selrow === rowid) { return false; } else { return true; } }, onSelectRow: function(id) { if (id && id !== selrow) { selrow = id; } },
onSelectRowで選択中のidをselrowに保持し、
beforeSelectRowでselrowと新しくクリックされたidを比較し、
一致の場合はfalse、不一致の場合trueを返します。
因みに、beforeSelectRowで常にfalseを返すとハイライトされません。