小编Sam*_*m32的帖子

从javascript对象中删除数组

上下文

我正在尝试实现一个功能,以便当用户单击表中的复选框时,该属性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);
});
Run Code Online (Sandbox Code Playgroud)

javascript arrays checkbox jquery

8
推荐指数
1
解决办法
83
查看次数

标签 统计

arrays ×1

checkbox ×1

javascript ×1

jquery ×1