Jquery 为什么可以';我不能打印这个复选框数组吗?
我试图将一个数组写入一个变量,这样我就可以在div中打印它,但是无论我做什么,我似乎都无法正确地得到它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
<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(','));
});