0

I am trying to get all selected checkbox values with JavaScript, but I have not been able to accomplish it until now. This is what I have tried. What am I doing wrong?

JS:

var femaleMatches = [];
$(".selectFemaleService:checked").each(function() {
    console.log('found a female');
    femaleMatches.push(this.value);
});

PHP:

echo "<div class='checkbox'><label><input id='selectFemaleServices' name='selectFemaleServices' type='checkbox' value='$id'>$description</label></div>";
4

4 に答える 4

4

jQuery は で選択しclassていますが、チェックボックスにはid. 複数のチェックボックスがある場合は、重複しないように変更idする必要があります。class

echo "<div class='checkbox'>" 
        . "<label>"
            . "<input class='selectFemaleServices' name='selectFemaleServices' type='checkbox' value='$id'>$description"
        . "</label>"
    . "</div>";
于 2013-09-06T13:30:30.313 に答える
2

jQueryを使用してクラスを選択するには、クラスの代わりに入力名を使用する必要があります

$("input[name='selectFemaleServices']:checked").each(function() {
于 2013-09-06T13:32:05.413 に答える
0

これを試して:

    var femaleMatches = [];
    $(".selectFemaleService").each(function() {
        if(this.checked){
        console.log('found a female');
        femaleMatches.push(this.value);
        }
    });

http://jsfiddle.net/JPvwJ/

于 2013-09-06T13:36:57.710 に答える
0

これが役立つと思います。付属のフィドルは、配列にデータを入力する方法を示しています。追加/削除機能を追加する方法を変更する必要があるかもしれませんが、これにより配列の値が取得されます

var femaleMatches = [];
$(".selectFemaleService").click(function() {
    if($(this).is(':checked')){
        console.log('found a female');
        femaleMatches.push($(this).val()); 
        console.log(femaleMatches);
    }
});

http://jsfiddle.net/8uZ3e/

于 2013-09-06T13:33:18.370 に答える