Jqgridでは、いつでも1つのチェックボックスのみを選択するようにユーザーを制限したいと考えています。最後に選択された複数のチェックボックスを選択状態にすると、残りのチェックボックスは自動的に選択解除されます。jqgrid単一選択チェックボックス
マルチ選択属性をtrueに設定しました。しかし、以前に選択したアイテムを選択解除することはできません。もしそうなら、それは可能ですか?各列のチェックボックスを持つ
おかげ
Jqgridでは、いつでも1つのチェックボックスのみを選択するようにユーザーを制限したいと考えています。最後に選択された複数のチェックボックスを選択状態にすると、残りのチェックボックスは自動的に選択解除されます。jqgrid単一選択チェックボックス
マルチ選択属性をtrueに設定しました。しかし、以前に選択したアイテムを選択解除することはできません。もしそうなら、それは可能ですか?各列のチェックボックスを持つ
おかげ
あなたはbeforeSelectRowイベントを使用して、選択をリセットすることができます。
beforeSelectRow: function(rowid, e)
{
jQuery("#list47").jqGrid('resetSelection');
return(true);
}
あなたはそれがどのように動作するか確認することができますので、私はあなたのためのfiddleを持っています。
は、一度に複数のをクリックしてできることを意味します。あなたが求めているのは、基本的にはmultiselect: false
の動作ですが、チェックボックスの列を使用しています。この場合、実際にチェックボックスを使用してもよろしいですか?
私はこの質問が古いことを知っていますが、私はこのより良い解決策を見つけましたStack Post。
あなたがしなければならないjqGridの次の2つのプロパティを設定されています
multiselect:true // multi-select checkboxes appear
multiboxonly:true // checkboxes act like radio buttons where only one is selected at a time
を私は単にこのJsFiddle
これは何だったのmultiboxonly設定を使用するLeftyXによって作られたバイオリンを更新しました必要だった。それは他の人を助けるかもしれない。 true
とmultiselect
に
1.設定multiboxonly
イベントonSelectRow
とbeforeSelectRow
を定義2.
true
に: あなたはいくつかのより多くのものをしなければならない
はあなたのフィドルでさえ、今は動作していないようです。 – JunM
3.グローバルvを定義するariable:var lastSel
;あなたはまだ選択を扱うことができるので、あなたは、複数選択アクティブせずに行をクリックした場合onSelectRowイベントがポップということも知って
onSelectRow: function (rowId, status, e) {
if (rowId == lastSel) {
$(this).jqGrid("resetSelection");
lastSel = undefined;
status = false;
} else {
lastSel = rowId;
}
},
beforeSelectRow: function (rowId, e) {
$(this).jqGrid("resetSelection");
return true;
}
私のために感謝の仕事.. !! – BlackHack123
これを追加する必要があります:var myGrid = $( "#list47"); $( "#cb _" + myGrid [0] .id).hide();ここに記載されているようにマルチセレクションボタンを隠すには:http://stackoverflow.com/questions/6212571/jqgrid-multiselect-check-all-in-header-how-to-hide-it/6213082#6213082 – Matthieu
また、グループ化がアクティブな場合(少なくともこの形式の場合)に動作します。 – Matthieu