我正在尝试将一个数组写入一个变量,以便我可以在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" />
应返回1,3,4
所以我有:
var variable1 = $('input:checkbox:checked.checkboxes').map(function () {
return this.value;
}).get();
$("#somediv").html(variable1);
然而div是空的,有谁知道我哪里出错了?
答案 0 :(得分:1)
您需要将数组转换为字符串。如果以逗号分隔的列表足以满足您的需求,请使用toString()
:
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')
如果您不将课程checkboxes
分配给复选框以外的任何内容,则更快:
$('input.checkboxes').filter(':checked')
答案 1 :(得分:1)
$(function(){
var data = new Array();
$('.checkboxes:checked').each(function () {
data[data.length] = $(this).val();
});
$("#somediv").text( data.join(','));
});