1

値の変更の例に基づいてチェックボックスの制限を作成しようとしています:次のチェックボックスがあります

<input type="checkbox" name="checkbox2[]" onClick="setChecks(this)" value="`key`=<?php 
echo $rspatient['key']?>" class="chk" id="chk<?php echo $a++?>" />

これはループ内にあるため、チェックボックスがたくさんあります...同じ値を持つものもあれば、そうでないものもあります...とにかく、異なる値のチェックボックスを防ぐコードを作成したいです!

チェックボックス番号を制限するための現在のコード

<script>
 <!--
 //initial checkCount of zero 
 var checkCount = 0
 //maximum number of allowed checked boxes 
 var maxChecks = 3
 var d = document.getElementById('chk' + (j++));

 function setChecks(obj) {
     //increment/decrement checkCount 
     if (obj.checked) {
         checkCount = checkCount + 1
     } else {
         checkCount = checkCount - 1
     }
     //if they checked a 4th box, uncheck the box, then decrement checkcount and pop alert 
     if (checkCount > maxChecks) {
         obj.checked = false
         checkCount = checkCount - 1
         alert('you may only choose up to ' + maxChecks + ' options')
     }
 }
 // -->
</script>

運が悪かったので、最後のifステートメントを編集しようとしました。

4

2 に答える 2

0

少しいじった後、私はなんとかこれがうまくいく解決策になってしまいました!

1 <input type="checkbox" value="1" /><br/>
2 <input type="checkbox" value="2" /><br/>
3 <input type="checkbox" value="3" /><br/>
1 <input type="checkbox" value="1" /><br/>
2 <input type="checkbox" value="2" /><br/>
3 <input type="checkbox" value="3" /><br/>
1 <input type="checkbox" value="1" /><br/>
2 <input type="checkbox" value="2" /><br/>
3 <input type="checkbox" value="3" /><br/>

$(function() {
var lastChecked = [];
$(':checkbox').change(function() {
    if (this.checked) {
        if (lastChecked.length && this.value != lastChecked[0].value) {
            this.checked = false;
            alert("the last box you checked has a different value");
        }
        else
        {
            lastChecked.unshift(this);
        }
    }
    else {
        lastChecked.splice(lastChecked.indexOf(this), 1);
    }
});
});​

</ p>

于 2012-07-14T15:10:09.573 に答える
0
 lastChecked.splice(lastChecked.indexOf(this), 1);
}

}); }); </ p>

于 2012-07-18T22:43:53.673 に答える