私はこのリンクに関する問題があります:Limiting default checked checkboxes。チェックボックスを有効/無効にする
私はスクリプトの検証のためにコードを拡張します。ここでは何をしたいのですか?
- デフォルトのチェックボックスをオンにします。
- たとえば、mvpが3の場合、チェックボックスの選択を制限したいと思います.3を選択し、このように残りのチェックボックスを無効にする必要があります。 Limit Checkbox。
- たとえば、指定された最大数が5であるなど、選択肢が届かない場合は、送信ボタンを無効にします。選択項目がチェックされていない場合、送信ボタンは有効になりません。
ここに私のサンプルコードは次のとおりです。
var mvp = 5;
$(document).ready(function() {
$("input:checkbox").each(function(index) {
this.checked = (index < mvp);
});
$("input:checkbox").click(function() {
var bol = $("input:checkbox:checked").length != mvp;
if(bol){
alert("You have to choose "+ mvp +" mvp's only");
this.checked = false;
$("#button-cart").attr("disabled", true);
}
else{
$("input:checkbox").not(":checked").attr("disabled",bol);
$("#button-cart").attr("disabled", false);
}
});
});
はここでフィドルです:ページがデフォルトの5のチェックボックスがありますロードするとき、私は5でMVPの値を設定する例に基づいてfiddle
チェック1をオフにすると、5 mvpの警告が表示され、ボタンが無効になります。チェックボックスをもう一度チェックすると、ボタンが表示されます。ユーザーが選択できる2つのチェックボックスがあります。ユーザーが5つの選択肢を超えると、アラートは再びトリガーし、5つのチェックボックスに戻ります。ここでの問題はボタンが無効のままであることです。
あなたは私がこの種のロジック行うのを助けることができる:事前にDのおかげで...
ありがとう@ロハンクマーこれはまさに私がやりたいことです。 – user2593560
を超えるとチェックボックスは無効になりません。user2593560は私の答えを確認して**アップデートしたデモを表示します** –
デモの作業は大丈夫です。ユーザが6番目のチェックボックスをチェックしてデフォルトの5チェックボックスをチェックすると、6番目と7番目のチェックボックスが無効になるためです。 5つのチェックボックスのうち、1つを選択解除するとデフォルトになります。チェックのために6番目と7番目のチェックボックスが再び開きます。 – user2593560