4

jquery関数に選択されたときにチェックボックスリストから値を渡そうとしているので、選択した値をいじることができます。以下のコードは機能しません

チェックボックス機能の外で値を使えるようにしたい

したがって、たとえば、その機能の外に別のボタンがあった場合、配列に格納されたものを読み取ることができるはずです-以下のコードは何らかの理由で機能しません。助けていただければ幸いです

jquery

 <script>
    $(document).ready(function(){

    var vals = []
    $('input:checkbox[name="check[]"]').each(function() {
        if (this.checked) {
            vals.push(this.value);
        }
    });

     alert(vals[0]);
    });
    </script>

HTML コード

<form>
<input value="BOOZE" type="checkbox" name="check[]" >PUB, MATES, <br>
<input value="TV"  type="checkbox" name="check[]">BRIBING THE KIDS TO GO BED<br>
<input value="BOOZE" type="checkbox" name="check[]">RAVING TILL THE EARLY HOURS<br>
<input value="PETS"  type="checkbox" name="check[]">PLAYING GRAND THEFT AUTO <br>
<input value="GEEK"  type="checkbox" name="check[]">TWEETING ABOUT SOMETHING <br>
<input value="SPORT"  type="checkbox" name="check[]">GYM<br>
<input value="XMAS"  type="checkbox" name="check[]">SINGING CHRISTMAS SONGS<br>
<input type="checkbox" class="chkNumber" name="check[]">SHARING A DELIGHTFUL BOTTLE 
</form> 
4

3 に答える 3

5

チェックされたチェックボックス要素をフィルタリングする必要がある変更ハンドラが必要です

 var vals = [];
 $(document).ready(function () {

     var $checkes = $('input:checkbox[name="check[]"]').change(function () {
         vals = $checkes.filter(':checked').map(function () {
             return this.value;
         }).get();

         alert(JSON.stringify(vals));
     });
 });

デモ:フィドル

于 2013-11-11T12:06:02.383 に答える
3

You can do this using the .map() method like:

var vals = $('input:checkbox[name="check[]"]:checked').map(function () {
    return this.value;
}).get();

alert(vals[0]);

Fiddle Demo

于 2013-11-11T12:06:07.110 に答える
2

あなたのコードは正しいです

var vals = [];

の外

$(document).ready();

お気に入り

<script>
var vals = [];
$(document).ready(function(){
$('input:checkbox[name="check[]"]').each(function() {
    if (this.checked) {
        vals.push(this.value);
    }
});

 alert(vals[0]);
});
</script>
于 2013-11-11T12:05:14.907 に答える