2014-07-15 6 views
0

사용자가 페이지를 새로 고침하더라도 복귀 할 수 없도록 특정 행의 localstorage에서 값을 삭제하고 싶습니다.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); 
}); 

답변

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

0

당신은 값을 확인할 필요가 키 행에 저장됩니다.

LocalStorage는 키 - 값 저장소입니다. 여기서 키와 값은 모두 문자열이어야합니다. 여기의 행은 DOM 객체이며 아마도 키가 아닙니다.

일반적으로 큰 개체는 JSON.storage가되어 로컬 저장소에 저장됩니다. 이 경우 해당 객체를 구문 분석하고 원하지 않는 속성 하나를 제거한 다음 기존 키 - 값 쌍을 재정의해야합니다.

+1

분명 당신은 ('키'localStorage.remove를 호출 할 필요가 설정 로컬 저장소); 여기서 '키'는 제거하려는 값의 키입니다. 모든 설정을 지우려면 localStorage.clear() 메서드를 호출해야합니다. – user3218194

0

localstorage.remove ('key')를 호출해야하는 로컬 저장소 설정을 지우십시오. 여기서 '키'는 제거하려는 값의 키입니다. 모든 설정을 지우려면 localStorage.clear() 메서드를 호출해야합니다.

관련 문제