从Javascript数组中删除动态添加的变量
我正在进行一个项目,在该项目中,我生成了一些复选框,其值基于PHP变量,如下所示:从Javascript数组中删除动态添加的变量,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在进行一个项目,在该项目中,我生成了一些复选框,其值基于PHP变量,如下所示: <input type="checkbox" value="<?php echo $example; ?>"> 希望有人能给我指出正确的方向 我还尝试实现了这里给出的答案:,但当数组中有多个元素时,它似乎不起作用 谢谢 我将如何解决这个问题:创建一个函数,在复选框上迭代并添加到数组中,在页面加载和任何更改时调用它 var值_数组; $(文档).ready(函数(){ updateVal
<input type="checkbox" value="<?php echo $example; ?>">
希望有人能给我指出正确的方向
我还尝试实现了这里给出的答案:,但当数组中有多个元素时,它似乎不起作用
谢谢 我将如何解决这个问题:创建一个函数,在复选框上迭代并添加到数组中,在页面加载和任何更改时调用它
var值_数组;
$(文档).ready(函数(){
updateValueArray();
$(document).on('change','.myCheck',function(){
updateValueArray();
console.log(值_数组);
});
});
函数updateValueArray(){
值_数组=[];
$('.myCheck:checked')。每个(函数(){
value_array.push($(this.attr(“value”));
});
}
如果数组中有一个单独的元素,那么它将被很好地删除,如果有更多的元素,那么我的代码似乎只删除最近添加的元素。
您如何决定要删除哪个元素?我看不出你为了帮助你而拼接变量的方式。什么是示例条件?此行上的额外右括号:if(示例_condition==true)){@snack\u溢出当取消选中复选框时,您需要像选中复选框一样获取输入值,使用该值在数组中找到值的正确索引,然后在该索引处拼接。我看到拼接线唯一的错误是,索引
可能不是-1
,而是未定义因为示例_condition==true
为false,并且@TomG@snack_overflow酷。很高兴这对你有用。祝你今天愉快!!:)
$(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
});