Jquery 为什么可以';我不能打印这个复选框数组吗?

Jquery 为什么可以';我不能打印这个复选框数组吗?,jquery,Jquery,我试图将一个数组写入一个变量,这样我就可以在div中打印它,但是无论我做什么,我似乎都无法正确地得到它 <input type="checkbox" class="checkboxes" value="1" checked="checked" /> <input type="checkbox" class="checkboxes" value="2" /> <input type="checkbox" class="checkboxes" value="3" che

我试图将一个数组写入一个变量,这样我就可以在div中打印它,但是无论我做什么,我似乎都无法正确地得到它

<input type="checkbox" class="checkboxes" value="1" checked="checked" />
<input type="checkbox" class="checkboxes" value="2" />
<input type="checkbox" class="checkboxes" value="3" checked="checked" />
<input type="checkbox" class="checkboxes" value="4" checked="checked" />

但是div是空的,有人知道我哪里出错了吗?

您需要将数组转换为字符串。如果逗号分隔列表足以满足您的需要,请使用:

var variable1 = $('input:checkbox:checked.checkboxes').map(function(){
    return this.value;
}).get().toString();
$("#somediv").html(variable1);
编辑

如果需要,还可以加快选择器的速度

$('input:checkbox:checked.checkboxes')
相当于稍微快一点:

$('input.checkboxes').filter(':checkbox:checked')
如果不将类
复选框
分配给复选框以外的任何对象,则速度更快:

$('input.checkboxes').filter(':checked')

这正是我想要的。你是最好的保罗@pufAmuf You's welcome:)我为您添加了一个编辑,如果您想稍微加快选择器的速度,这不是一个很大的加速,但我想我会让您知道以防万一:)速度测试:
.get().toString()你会没事的。
$('input.checkboxes').filter(':checked')
$(function(){
    var data = new Array();
    $('.checkboxes:checked').each(function () {
        data[data.length] = $(this).val();
    });
    $("#somediv").text( data.join(','));
});