0

我正在尝试使用 JavaScript 获取所有选定的复选框值,但直到现在我才能完成它。这是我尝试过的。我究竟做错了什么?

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 正在选择 by class,但您的复选框有一个id. 如果有多个复选框,则应将其更改为idclass以免最终出现重复项。

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 回答