Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Javascript数组中删除动态添加的变量_Javascript_Jquery_Arrays - Fatal编程技术网

从Javascript数组中删除动态添加的变量

从Javascript数组中删除动态添加的变量,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在进行一个项目,在该项目中,我生成了一些复选框,其值基于PHP变量,如下所示: <input type="checkbox" value="<?php echo $example; ?>"> 希望有人能给我指出正确的方向 我还尝试实现了这里给出的答案:,但当数组中有多个元素时,它似乎不起作用 谢谢 我将如何解决这个问题:创建一个函数,在复选框上迭代并添加到数组中,在页面加载和任何更改时调用它 var值_数组; $(文档).ready(函数(){ updateVal

我正在进行一个项目,在该项目中,我生成了一些复选框,其值基于PHP变量,如下所示:

<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
});