无法使用jQuery获取复选框的值

时间:2013-09-06 13:27:51

标签: php javascript jquery checkbox

我试图用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 个答案:

答案 0 :(得分:4)

您的jQuery是class选择的,但您的复选框有id。如果有多个复选框,您应该将id更改为class,这样您就不会有重复项。

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

答案 1 :(得分:2)

您应该使用输入名称而不是来使用jQuery选择它

$("input[name='selectFemaleServices']:checked").each(function() {

答案 2 :(得分: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/

答案 3 :(得分:0)

试试这个:

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

http://jsfiddle.net/JPvwJ/