繁体   English   中英

如何在dataTables的localstorage中删除表中的特定行

[英]How to delete specific row in table in localstorage in dataTables

我想做的是删除该特定行上localstorage中的值,以便即使用户刷新页面也不会回来。

我的问题是它不会删除我要删除的特定行的localstorage值。

当前输出: http : //jsfiddle.net/4GP2h/75/

$(document).on('click', '.delete', function () {
    var row = $(this).closest('tr');
    oTable.row(row).remove().draw();  
    localStorage.removeItem(row);
});

不是很好,但是基于比较姓名,年龄和性别的有效示例:

$(document).on('click', '.delete', function () {
    var row = $(this).closest('tr');
    oTable.row(row).remove().draw();
    var rowElements = row.find("td");
    for (var i = 0; i < dataSet.length; i++) {
        var equals = true;
        for (var j = 0; j < 3; j++) {
            if (dataSet[i][j] != rowElements[j].innerHTML) {
                equals = false;
                break;
            }
        }
        if (equals) {
            dataSet.splice(i, 1);
            break;
        }
    }
    localStorage.setItem('dataSet', JSON.stringify(dataSet));
});

这个小提琴

您需要确认该值与密钥行一起存储。

LocalStorage是键值存储。 键和值都必须是字符串。 这里的行是DOM对象,可能不是键。

通常,对大型对象进行JSON.strigify处理并保存在本地存储中。 在这种情况下,您将需要解析该对象,删除您不需要的一个属性,并覆盖现有的键值对。

清除您需要调用localStorage.remove('key');的本地存储设置; 其中“键”是您要删除的值的键。 如果要清除所有设置,则需要调用localStorage.clear()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM