Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JQuery删除特定sessionStorage值_Jquery_Html_Session Storage_Sessionstorage - Fatal编程技术网

如何使用JQuery删除特定sessionStorage值

如何使用JQuery删除特定sessionStorage值,jquery,html,session-storage,sessionstorage,Jquery,Html,Session Storage,Sessionstorage,我想知道我是否可以删除一个特定的sessionStorage值,如果可以的话,我如何使用JQuery实现这一点?到目前为止,我可以删除输入字段,但似乎无法删除会话存储值。下面列出了我的代码 这是我的名片 HTML 选择一个标题 老板 工人 经理 JQuery var worker_record = []; $(document).ready(function(){ workerData(); $('.worker').on('click', function(e){

我想知道我是否可以删除一个特定的sessionStorage值,如果可以的话,我如何使用JQuery实现这一点?到目前为止,我可以删除输入字段,但似乎无法删除会话存储值。下面列出了我的代码

这是我的名片

HTML

  • 选择一个标题 老板 工人 经理
JQuery

var worker_record = [];
$(document).ready(function(){
    workerData();
    $('.worker').on('click', function(e){
        e.preventDefault();
        e.stopPropagation();

        var title = $('.title:first').val();            

        var someData = {title: title};
        worker_record.push(someData);

        sessionStorage.worker = JSON.stringify(worker_record);
        workerData();
    });

    function workerData(){
        var max_fields = 6;
        var x = 1;

        if(!(typeof sessionStorage.worker === 'undefined' || sessionStorage.worker.length<1)){
            worker_record = JSON.parse(sessionStorage.worker);
        }

        $('.add-more').empty();
        for(var i=0; i<worker_record.length; i++){
            if(x < max_fields){
                x++;
                var title = worker_record[i].title;

                var worker = '<div><div class="delete-worker"><a title="" href="#">Delete</a></div><select name="title[]" class="title title-options"><option value="Select a Title" selected="selected">Select a Title</option><option value="Boss">Boss</option><option value="Worker">Worker</option><option value="Manager">Manager</option></select></div>';

                $('.add-more').append(worker);
                $('.title:eq('+$('.title-options').length+')').val(title);
            }
        }

        $('.title:first').val('Select a Title');
    }

    $('.add-more').on('click', '.delete-worker', function(e){
        e.preventDefault();
        e.stopPropagation();    

        $(this).parent('div').remove(); x--;
    });
});
var-worker_-record=[];
$(文档).ready(函数(){
workerData();
$('.worker')。在('click',函数(e)上{
e、 预防默认值();
e、 停止传播();
var title=$('.title:first').val();
var someData={title:title};
worker_记录推送(someData);
sessionStorage.worker=JSON.stringify(worker\u记录);
workerData();
});
函数workerData(){
var max_字段=6;
var x=1;

如果(!(typeof sessionStorage.worker=='undefined'| | sessionStorage.worker.length在RemoveEvent时,您没有删除worker中的记录。您只是删除dom内容。有关从sessionStorage中删除工作记录的信息,请参阅下面的内容

worker_record = JSON.parse(sessionStorage.worker);
    alert(worker_record);
    worker_record.splice(worker_record.length -1, 1);// Record index passed as 2nd paramter
    alert(worker_record);
    sessionStorage.worker = JSON.stringify(worker_record); 

RemoveEvent时,您没有删除辅助进程中的记录。您只是删除了dom内容。有关从会话存储中删除辅助进程记录的信息,请参阅下文

worker_record = JSON.parse(sessionStorage.worker);
    alert(worker_record);
    worker_record.splice(worker_record.length -1, 1);// Record index passed as 2nd paramter
    alert(worker_record);
    sessionStorage.worker = JSON.stringify(worker_record); 

现在我得到了以下错误
Uncaught ReferenceError:x未定义
否则一切正常。您不能在函数外部访问x。您可以删除索引Dom并将其传递给splice argumentNow,当我删除一个输入时,我无法添加另一个输入。您可以添加。在JSFIDLE中使用上述代码段。它的工作原理是till不允许我添加其他输入字段。现在我得到以下错误
Uncaught ReferenceError:x未定义
否则一切正常。你不能在函数外部访问x。你可以删除索引Dom,并将其传递给splice argumentNow,当我删除一个输入时,我不能添加另一个输入。你可以添加。使用上面的sJSFIDLE中的nippet代码。它的工作原理仍然不允许我添加其他输入字段。