【发布时间】:2014-09-13 10:52:15
【问题描述】:
我有这个功能,当我选中一个或多个复选框时,函数会加载选中复选框的值...但是当我取消选中一个或多个复选框时,函数会显示一个空数组。
这是函数:
$(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>
【问题讨论】:
-
插入 $(this) 在 else 语句中使用 $(this).val()。
-
不使用 .val() 也不起作用
-
你只有一个复选框,那你为什么要使用循环。如果存在多个复选框,则 id 应该是唯一的
-
不,我有很多复选框,例如我只发布了一个
-
只需使用此代码无需使用 if else 条件,因为您每次都在创建新数组并使用 id jsfiddle.net/o0Lcrv3w/19 的类插入
标签: javascript jquery html arrays checkbox