删除LocalStorage中的单个项目不能使用jquery?

时间:2013-09-04 09:45:48

标签: jquery html5 listview checkbox local-storage

我正在尝试使用jquery从localstorage中删除单个项目。实际上我正在使用localstorage将数据存储为收藏夹。我在listivew中显示所有收藏夹。我添加了一个复选框,用于选择要删除的favouties中的单个项目,但我尝试了很多从localstorage中删除所选的复选框,它对我不起作用。

我的代码:

function fromGetStorage() {
    $("#favoritesList").empty();  
    //$("#favoritesList").addClass('current');
    $("#favoritesList").append('<input type="checkbox" name="all" id="select" />Select all</br>');
    $("#fav .ui-listview-filter").remove();

    for (var i = 0; i < localStorage.length; i++) {
        var url = localStorage.key(i);
        var item = localStorage.getItem(url);

        $("#favoritesList").append('<li id="add"><div><input type="checkbox" name="check" id="check">&nbsp;<a href="' + url + '" style="text-decoration:none;color:black">' + item + '</a></div></li>').attr('url', url);
        $("#favoritesList").listview('refresh');
    }

    $("#select").click(function(event){
        event.stopPropagation();
    });

    $('#select').change(function() {
        if ($("#select").is(':checked')) {
            $("#add #check").prop("checked", true);
            $('#empty').on('click', function() {
                localStorage.clear();
                $("#favoritesList").listview('refresh');
            });
        }
        else {
            $("#add #check").prop("checked", false);
        }
    });

    $("#add #check").click(function(event){
        event.stopPropagation();
    });

    $("#add #check").change(function() {
        var item = $(this);

        $("#delete").on('click', function() {
            if ($("#add #check").is(':checked')){
                // item.closest("li").remove();
                localStorage.removeItem(url);
            }
            $("#favoritesList").listview('refresh');
        });
    });
} 

更新

我正在更新我的代码,但有些更改正在运行但不正确。

$("#add #check").change(function() {
        $("#delete").on('click', function() {
            if($("#add #check").is(':checked')){
                  var i = $('input[name="check"]:checkbox:checked').length;
                  if ( i > 0)
                  {
                    var url = localStorage.key(i);
                    localStorage.removeItem(url);
                    $("#favoritesList").listview('refresh');
                  }

            }
            $("#favoritesList").listview('refresh');
        });

});

先谢谢。

0 个答案:

没有答案