我正在开发一个项目,在这个项目中,我生成了一些复选框,其中的值基于PHP变量,如下所示:
<input type="checkbox" value="<?php echo $example; ?>">
然后,我希望能够获取单击输入的值并将其添加到JS数组中,这样我就可以发布任何选中复选框中的所有值。
这些值添加到我的JS数组中没问题,但是当我试图从数组中删除它们时,我遇到了困难。如果数组中有一个单独的元素,那么它将被很好地删除;如果有多个元素,那么我的代码似乎只删除最近添加的元素。
我认为问题出在
value_array.splice(index, 1);
线。
$(document).on('click', '.example-input', function() {
input = $(this).find('input');
if(example_condition == true) {
$(input).prop( 'checked', true );
value = $(input).val();
value_array.push(value);
index = value_array.indexOf(value);
is_checked = true;
} else {
$(input).prop('checked', false);
is_checked = false;
}
if(is_checked == false) {
if(index !== -1) {
value_array.splice(index, 1);
}
}
// Post JS array
});
希望有人能给我指明正确的方向。
我还尝试实现这里给出的答案:
How do I remove a particular element from an array in JavaScript?
,但当数组中有多个元素时,它似乎不起作用。
谢谢。