0

チェックボックスを列として持つ剣道グリッドがあります。これについて複数のチェックを制限したい。つまり、ユーザーは 1 行のみをチェックできる必要があり、1 行を超えてはなりません。

これについて私を助けてください。

編集:

チェックボックスは clientTemplate を使用して生成されます。列をグリッドで囲みました。

     columns.Bound(p => p.FlightNo).HeaderTemplate(" ")
    .ClientTemplate("<input id='checkbox' name='chbox' class='chkbxq' type='checkbox' />").Sortable(false).Filterable(false).Width(50);

ありがとうマニカンダン

4

1 に答える 1

3

チェックボックスは相互に排他的ではないため、探しているものを取得するには JavaScript コードが必要です。

グリッド ID が であるとしましょうgrid。他のチェックボックスを削除するには、次のコードが必要です。

$("#grid").on("change", "input.chkbxq", function (e) {
    var v = $(this).is(":checked");
    $("input.chkbxq", "#grid").prop("checked", false);
    $(this).prop("checked", v);
});

私がすることは:

  1. inputクラスを持つHTML のハンドラーを定義しますchkbxq
  2. チェックされた入力のステータスを取得します。
  3. クラスで入力チェックボックスを false に設定しますchkbxq
  4. 最後に、チェックされた入力のステータスを値に設定します。これは、前のステップで削除したために必要です。

問題: この手法の実行例で確認できるように、ページネーションを使用すると、チェックボックスの状態が保持されません: http://jsfiddle.net/OnaBai/eDu3k/2/

于 2013-06-19T18:12:04.167 に答える