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

时间:2014-07-15 06:22:00

标签: javascript jquery html datatable local-storage

我想要删除该特定行上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);
});

3 个答案:

答案 0 :(得分:1)

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

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

the fiddle of this

答案 1 :(得分:0)

您需要确认该值与关键行一起存储。

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

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

答案 2 :(得分:0)

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