Javascript 选中和未选中复选框值的数组
我有这个函数,当我选中一个或多个复选框时,函数加载选中复选框的值…但是当我选中一个或多个复选框时,函数显示一个空数组 这就是功能:Javascript 选中和未选中复选框值的数组,javascript,jquery,html,arrays,checkbox,Javascript,Jquery,Html,Arrays,Checkbox,我有这个函数,当我选中一个或多个复选框时,函数加载选中复选框的值…但是当我选中一个或多个复选框时,函数显示一个空数组 这就是功能: $(document).ready(function () { $('input[type="checkbox"]').change(function () { var mycheck = new Array(); if ($(this).is(':checked')) { $("#line-chec
$(document).ready(function () {
$('input[type="checkbox"]').change(function () {
var mycheck = new Array();
if ($(this).is(':checked')) {
$("#line-checkbox-1:checked").each(function () {
mycheck.push($(this).val());//aggiungo value del checked
});
alert(mycheck)
} else {
var itemtoRemove = $(this);
mycheck.splice($.inArray(itemtoRemove, mycheck), 1); //rimuovo il value del dechecked
alert(mycheck);
}
});
这是复选框的HTML:
<div class="col-lg-3">
<input tabindex="17" id="line-checkbox-1" type="checkbox" name="servizi" value="3">
</div>
试试这个简单的脚本,它适合您: HTML
<input type="checkbox" name="options[]" value="1" />
<input type="checkbox" name="options[]" value="2" />
<input type="checkbox" name="options[]" value="3" />
<input type="checkbox" name="options[]" value="4" />
<input type="checkbox" name="options[]" value="5" />
这可能是因为您使用id来引用复选框,并且每次用户更改复选框时,您都从头开始创建数组。每次更改复选框时,都应重新检查列表。这意味着您不需要这个if.(if($(this).is(“:checked”))
如果我正确理解了您试图执行的操作,这里有一个示例instread of$(this)在else语句中使用$(this).val()。no还与.val()一起使用不起作用您只有一个复选框,那么为什么要使用循环。如果存在多个复选框,则id应该是唯一的。没有,我有许多复选框,例如,我只发布了一个复选框。只需使用此代码,无需使用if-else条件,因为您每次都在创建新数组,并使用id类instread
$(document).ready(function ()
{
$('input[type="checkbox"]').change(function ()
{
var arr = $.map($('input:checkbox:checked'), function(e,i) {
return +e.value;
});
alert(arr);
});
});
$('.checkboxes input[type="checkbox"]').change(function () {
var mycheck = new Array();
$(".checkboxes input[type='checkbox']:checked").each(function () {
if ($(this).is(':checked')) {
mycheck.push($(this).attr("id") + ": is " + $(this).val()); //aggiungo value del checked
}
});
alert(mycheck);
});