从javascript对象中删除数组

山姆32

语境

我正在尝试实现一项功能,以便当用户单击表中的复选框时,该复选框的属性valuedata-title应该存储在名为selected新键-值对数组元素的JS对象文字中

如果用户再次单击同一复选框,则应删除相应的数组元素。

问题

第一次单击复选框时,selected将按预期在对象中创建一个数组

但是,再次单击同一复选框时,不是删除相应的数组,而是添加了一个新的(重复的)数组

代码

var selected = {items:[]};     
$('#table').on('click', 'input[type="checkbox"]', function() {
    var found = false;
    $.each(selected.items, function(i, val) {
        if (val.key == $(this).attr("value")) {
            selected.items.splice(i ,1);
            found = true;
            return false; //step out of each()
        }
    });

    if (found == false) {
        selected.items.push({key: $(this).attr("value"), value: $(this).attr("data-title")});
    }

    console.log(selected);
});
查理

你有错误的上下文thiseach它不再是点击处理程序中的元素

尝试

$('#table').on('click', 'input[type="checkbox"]', function() {
    var found = false;
    var value = $(this).val();// store value from `this` before entering `each`
    $.each(selected.items, function(i, val) {
        if (val.key == value) {
            selected.items.splice(i ,1);
            found = true;
            return false; //step out of each()
        }
    });
    ....

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript删除数组中的等效对象

来自分类Dev

JavaScript - 从对象中删除数组

来自分类Dev

在 JavaScript 或 Typescript 中删除数组数组中的对象

来自分类Dev

如何删除数组对象中数组内部的项目?javascript

来自分类Dev

删除数组中的对象

来自分类Dev

删除数组中的对象

来自分类Dev

通过ID javascript删除数组中的对象

来自分类Dev

通过ID javascript删除数组中的对象

来自分类Dev

JavaScript在对象键值对中删除数组括号

来自分类Dev

从数组中删除数组中的对象

来自分类Dev

从对象中删除数组组件

来自分类Dev

删除数组中对象的属性

来自分类Dev

如何删除数组中对象的键

来自分类Dev

MongoDB:在Mongoose中删除数组对象

来自分类Dev

删除数组中的相同对象

来自分类Dev

Angular 2:删除数组中的对象

来自分类Dev

JavaScript:删除数组中的重复项

来自分类Dev

Javascript从数组函数中删除数据

来自分类Dev

从javascript数组中删除数字范围

来自分类Dev

删除数组-Javascript

来自分类Dev

如何从包含多个数组的对象中删除数组

来自分类Dev

删除数组内对象中的重复键,并汇总每个状态Javascript的总数

来自分类Dev

删除数组中的重复对象,但在javascript中继续添加一些属性

来自分类Dev

使用for循环在JavaScript中删除数组中的子数组

来自分类Dev

如何在JavaScript中从多维数组中删除数组?

来自分类Dev

从MongoDB中的对象字段中删除数组

来自分类Dev

如何在RethinkDB中删除数组中的特定对象

来自分类Dev

流星从集合中删除数组对象中的值

来自分类Dev

如何使用Javascript从数组中删除数组?