2012-02-25 5 views
0

を選択可能チェックボックスの最大数を制限:動的にここに一つであり、私は多くのスクリプトは、例えば、JavaScriptを使用してページ内で選択することができ、チェックボックスの最大数を制限することが分かっ

http://www.plus2net.com/javascript_tutorial/checkbox-limit.php

私はしませんが特定の番号が必要ですが、可変番号が必要です。

これは、単なる数値ではなくパーセンテージの制限が必要であることを意味します。

たとえば、ユーザーの選択をページ内のチェックボックスの最大30%に制限します。

どのようにこれを達成するための任意のヘルプは非常に感謝しています!

答えて

1

このスクリプトを固定された割合に対して変更するには、合計要素数の30%を使用するだけです。答えを

function chkcontrol(j) { 
    var length = document.form1.chb.length; 

    // Max number allowed checked is 30% of the total 
    var max = Math.round(length * .3); 
    var total = 0; 
    for(var i = 0; i < length; i++){ 
    if(document.form1.ckb[i].checked){ 
     total = total + 1; 
    } 

    if(total > max){ 
     alert("Please Select only three") 
     document.form1.ckb[j].checked = false ; 
     return false; 
    } 
    } 
} 
+0

おかげで、しかし、私は問題を抱えている:私は、割り当てられたチェックボックスの名前は、私は、チェックボックス名に括弧を維持する必要があります(「[] frnd」と私はjsファイル機能では、この名前を入れる必要がありますそれらが配列を形成することをphpで宣言します)。空のかっこはjsによって誤解されるのでしょうか?今すぐスクリプトが動作していないためです! –

+0

ここでコードを説明すると、ここではckb [i]とckb [j]の2つのオブジェクトを使用しています。私のコードでは、私のオブジェクトはfrnd [](PHP配列です)と呼ばれています。私は、それがすでに括弧を含んでいるので、私はckb [i]とckb [j]の代わりにjavascriptでそれを使うことができるとは思わない... {(frnd [])[i] }と{(frnd [])[j]}か、エイリアスでオブジェクト名を定義することができますか?残念ながら私はjavascriptに精通していません! –

+0

の問題を解決しました:http://stackoverflow.com/questions/9574509/rename-javascript-object-in-order-to-use-a-php-array –

関連する問題