0

まず、チェックボックス要素のセットがあります。それをクリックするたびに、フォーム内でアクティブなチェックボックスの数をカウントする方法が必要です。次に、チェックするチェックボックスの数に制限を設けます。制限に達した場合は、残りのチェックボックスを無効にします。現在、jquery .length はチェックボックスの総数を返します。

ところで、私はカスタム javascript/css チェックボックスを使用していますが、考え方は同じだと思います

4

3 に答える 3

1

チェックされたチェックボックスの数を取得するために、.length動作しますが、セレクターでinput:checked

var nbChecked = $("input:checked").length;

チェックボックスの数を制限するには、イベントをチェックボックスにバインドchangeし、この数に達したときにクリックを防止する必要があります...

jsFiddle の作業: http://jsfiddle.net/wpMzY/

于 2013-08-07T08:05:13.243 に答える
0

サミュエルが回答した完全なコード例と、ユーザーが現在のオプションの選択を解除して別のオプションを選択できるようにするオプション:

var maxAmountChecked = 3;

$('input[type=checkbox]').change(function(){
   if( $('input:checked').length > maxAmountChecked-1 ){
       //disable all unchecked checkboxes, keeping checked boxes available to deselect
       $('input:checkbox:not(:checked)').attr('disabled', 'disabled');
   }else{
       //if maximum amount is not reached, all checkboxes should be available
       $('input[type=checkbox]').removeAttr("disabled");
   }
});
于 2013-08-07T09:39:55.100 に答える
0

既にお持ちのコードを貼り付けた場合は、さらにアドバイスすることができます。

于 2013-08-07T08:10:52.527 に答える