2015-03-25 3 views
0

что мне нужноКак удалить данные в LocalStorage

  • Мне нужно, чтобы переключить изображение на мыши.
  • нравится, если пользователь выбирает любимый выбор & после этого он отметил, что неблагоприятное изображение изменено и данные удалены с localstoarge.

HTML код

<div style="display:block; float:right; width:auto; color:#7c7c7c;"> 
    <a href="javascript:void(0);" class="favourate_dextop" id="fav'.$data[$k]['id'].'" onClick=" favaorite('.$data[$k]['id'].',\''.$name_event.'\',\''.$event_city.'\',\''.$event_country.'\',\''.$event_urls.'\',this)"></a> 
</div> 

код расслоение плотной

function favaorite(sess_id,name,city,country,event_url,pointer){ 

    var eventData; 
    //is anything in localstorage? 
    if (localStorage.getItem('eventData') === null) { 
     eventData = []; 
    } else { 
     // Parse the serialized data back into an array of objects 
     eventData = JSON.parse(localStorage.getItem('eventData')); 
     //alert(eventData); 
     $.each(eventData, function(key, value){ 
      //console.log(value); 
      var imageUrl='http://im.gifbt.com/images/star1_phonehover.png'; 
      //var imageUrl='http://im.gifbt.com/images/star1_phone.png'; 

      $(pointer).closest('.evt_date').find('.favourate_dextop').css('background-image', 'url("' + imageUrl + '")'); 
      //$(pointer).closest('.evt_date').find('.favourate_dextop').css('background-image', 'url("' + imageUrl + '")'); 
     }); 

    } 
    var details={}; 

    details.sess_id=sess_id; 
    details.name=name; 
    details.city=city; 
    details.country=country; 
    details.event_url=event_url; 

    // Push the new data (whether it be an object or anything else) onto the array 
    eventData.push(details); 

    // Alert the array value 
    //alert(eventData); // Should be something like [Object array] 
    // Re-serialize the array back into a string and store it in localStorage 
    var jsondata=localStorage.setItem('eventData', JSON.stringify(eventData)); 


} 

проблема

  • Я новичок в LocalStorage мне нужно знать, как я могу удалить данные из JSON строки.
  • Я внедрил Добавить в избранное сейчас мне нужно mark unfavorite.

данные хранятся:

[{ 
    "sess_id":182104, 
    "name":"AUTOMECH FORMULA", 
    "city":"Cairo", 
    "country":"Egypt", 
    "event_url":"automech-formula" 
},] 

ответ

1

Чтобы удалить данные из LocalStorage вы используете localStorage.removeItem ('') itemNam

пример

localStorage.setItem('name','hello'); 

удалить имя пункт из местного хранилища, который вы используете

localStorage.removeItem('name'); 

НО ЕСЛИ ВАШ ВОПРОС КАК УДАЛИТЬ ДАННЫЕ ИЗ JSON обьектов есть два способа

1: изменения исходного объекта JSon

удалить originalJson.attributeName

originalJson = {name:'myname',age:30};//our object to test with 

пример:

delete originalJson.age //in this case originalJson.age is no more available 

2: не изменять исходный объект и сделать еще одну копию вместо

originalJson2 = JSON.stringify(originalJson); 
    originalJson2 = JSON.parse(originalJson2); 
    delete originalJson2.age //originalJson.age is available but originalJson2.age is not available 

вот: jsfiddle

+0

я. .need..to..use..toggle..image..when..user..unmark ... fav-> unfavorite – afeef

+0

Что вы думаете о второй части, которую я добавил, это то, о чем вы говорите? – Ismail

+0

да..i..need..to..delete ... данные..из..json ..объект – afeef

0

позволяют предположить, что sess_id ваш уникальный идентификатор для событий

function unfavorite(sess_id){ 

    var eventData = localStorage.getItem('eventData'); 

    //is anything in localstorage? 
    if (localStorage.getItem('eventData') === null) { 
     console.log('invalid event'); 
    } 
    eventData = JSON.parse(eventData); 

    // Keep all without the one with specified sess_id 
    $.grep(eventData, function(value) { 
     return value.sess_id != sess_id; 
    }); 

    var jsondata=localStorage.setItem('eventData', JSON.stringify(eventData)); 
} 
Смежные вопросы