チェックボックスリミッタは、ユーザーに選択の増分を促す

私はユーザーが3つのボックスだけを選択できるフォームを持っています。しかし、ユーザーが4番目のボックスを選択して選択肢を増やすかどうかを尋ねるプロンプトが表示され、「はい」を選択すると、チェックできるボックスの数が5に増えます。 これは私が販売している製品のリストです。

誰でもどのようにこれを行うか考えている。ここに私のサンプルコードです:

    <script type="text/javascript">

/***********************************************
* Limit number of checked checkboxes script- by JavaScript Kit (www.javascriptkit.com)
* This notice must stay intact for usage
* Visit JavaScript Kit at http://www.javascriptkit.com/ for this script and 100s more
***********************************************/

function checkboxlimit(checkgroup, limit){
    var checkgroup=checkgroup
    var limit=limit
    for (var i=0; ilimit){
            alert("Your box is full.")
            this.checked=false
            }
        }
    }
}

</script>

Select your favorite two countries below:

<form id="world" name="world"> <input type="checkbox" name="countries" /> USA
<input type="checkbox" name="countries" /> Canada
<input type="checkbox" name="countries" /> Japan
<input type="checkbox" name="countries" /> China
<input type="checkbox" name="countries" /> France
</form> <script type="text/javascript"> //Syntax: checkboxlimit(checkbox_reference, limit) checkboxlimit(document.forms.world.countries, 2) </script>
0
線量は最初の3つでなければならないか、3つのうちのどれかを任意の順序でチェックできますか?
追加された 著者 david,

1 答え

これを試して

function checkboxlimit(checkgroup, limit){

   var v_checkgroup = checkgroup;
   var v_limit = limit;

  for (var i=0; i < v_checkgroup.length; i++){

    v_checkgroup[i].onclick= function(){

    var checkedcount = 0;

    for (var i=0; i < v_checkgroup.length; i++)

    checkedcount += (v_checkgroup[i].checked)? 1 : 0

    if (checkedcount > v_limit){
    var confirmIncrease = confirm("would like to increase you selection\r\nSelect yes to increase or\r\nCancle to remove");
    if(confirmIncrease){        

   //manualy set the limit
          // v_limit = 5; 
          //set the limit based on number of checkboxs
    v_limit = checkgroup.length;//rase the limit to the remaining


    }else{//uncheck if they dont wish to increase the limit 
    //alert("no worries")
    this.checked=false
    }
    } }
 }
}

あなたが望むように動作するかどうか、私に知らせてください

0
追加された
いいえ、うまくいきませんでした。私はもっ​​と簡単な方法をとることに決めましたが、誰かがこれに亀裂を入れたいと思ったら、気軽に!それは良い挑戦だ!
追加された 著者 Tabetha Moe,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript