0

チェックボックスを使用する必要がありますが、送信ボタンはありません。チェックボックスを含む同じページである、ユーザーが既に表示しているページに影響を与える必要があります。

基本的に、チェックボックス要素は最大10個あります。ユーザーはそれらの特定の数を選択し、ボタン要素をクリックします。彼らがその要素をクリックしたとき、私はどのチェックボックスがチェックされているかを検出する必要があります。最短のコードでそれを行うための最良の方法は何ですか?

4

3 に答える 3

3

すべてのチェックボックスで同じクラスを共有します。

var allChecked = $(".checkBoxClass:checked");

これにより、クラス内のチェックされたチェックボックスのリストが返されますcheckBoxClass。これで、各要素を繰り返し処理して操作できます。

for(var i=0; i<allChecked.length; i++) {    
  console.log("Checkbox " + $(allChecked[i]).val().toString() + " is checked");
}
于 2012-11-23T05:34:20.033 に答える
0

試す:

    <input type="checkbox" id="1" value="one"/>
    <input type="checkbox" id="2" value="two"/>
    <input type="checkbox" id="3" value="three"/>
    <input type="button" onclick="validate()" value="Check"/>   

    <script type="text/javascript">
        function validate(){
            var chkArr = document.querySelectorAll('input[type="checkbox"]');
            var notChecked='';
            for(var i=0;i<chkArr.length;i++){
                if(!chkArr[i].checked)
                    notChecked += chkArr[i].value
            }
            if(notChecked.length)
                alert(notChecked);
        }
    </script>
于 2012-11-23T05:32:16.973 に答える
0

これらのいずれかが機能するはずです。

$('input:checked');

$('input:checkbox:checked');

$('input:checkbox').filter(':checked');
于 2012-11-23T05:38:29.463 に答える