2013-04-16 3 views
0

로컬 스토리지에 내 값을 저장하고 있는데 테이블에 정보를 표시하려고하지만 작동하지 않는 것처럼 보이며 항상 첫 번째 열로 출력합니다. 예를 들어, 내 정보를 입력 할 때 이렇게 나오길 원합니다.로컬 스토리지 테이블

| 잔액 | 이름 | 수량 | 가격 |

| 100 | 시험 | 100 | 1.99 |

대신은 현재 다음과 같이 표시됩니다 :

| 균형 | 이름 | 수량 | 가격 | | 100 | | 테스트 | | 100 | | 1.99 |

내 로컬 스토리지

function save(item) { 
      var playlistArray = getStoreArray("playlist"); 
      playlistArray.push(item); 
      localStorage.setItem("playlist", JSON.stringify(playlistArray)); 
     } 

function Load_storage() { 
      var playlistArray = get_Storage(); 
      var ul = document.getElementById("playlist"); 
      if (playlistArray != null) { 

       for (var i = 0; i < playlistArray.length; i++) 
       { 
        var li = document.createElement("table"); 
       li.innerHTML = playlistArray[i]; 
        ul.appendChild(li); 
                         } 
      } 
     } 

function get_Storage() { 
      return getStoreArray("playlist"); 
     } 

function getStoreArray(key) { 
      var playlistArray = localStorage.getItem(key); 
      if (! playlistArray) { 
       playlistArray = new Array(); 
      } 
      else { 
       playlistArray = JSON.parse(playlistArray); 
      } 
      return playlistArray; 
     } 

코드입니다 그리고 난이 항상 선을 보여줍니다하지만 난 그나마 때문에 주석

var table=document.getElementById("myTable"); 
    var row=table.insertRow(1); 
    var cell1=row.insertCell(0); // bank account 
    var cell2=row.insertCell(1); // name 
    var cell3=row.insertCell(2); // Quantity 
    var cell4=row.insertCell(3); // price 

    cell1.innerHTML=Balance ;    // bank account 
    cell2.innerHTML=name;   //stock symbol 
    cell3.innerHTML=quantity;   // Quantity 
    cell4.innerHTML=price;    // bought 
      var SAVE= document.getElementById("myTable"); 
       SAVE.appendChild(row); 

       save(cell1.innerHTML); 
       save(cell2.innerHTML); 
       save(cell3.innerHTML); 
       save(cell4.innerHTML);     
// save(Balance+"......................."+ 
       name+"......................."+ 
       quantity+"......................."+ 
       price + "......................."); 

이 기능을 통해 내 로컬 스토리지에 넣어 그런 식으로조차도 이런 방식으로 작업하길 원합니다.

답변

0

html로 표 머리글을 넣으십시오. 그것은 훨씬 더 효율적 자바 스크립트와 함께 그 일을보다 : 자바 스크립트에

<body> 
    <table id='myTable'> 
     <thead> 
     <tr> 
      <th>Balance</th> 
      <th>Name</th> 
      <th>Quantity</th> 
      <th>Price</th> 
     </tr> 
     </thead> 
    </table> 
</body> 

일부 변경 :

여기
var table = document.getElementById("myTable"), 

    row = table.insertRow(1), 
    cell1 = row.insertCell(0), // bank account 
    cell2 = row.insertCell(1), // name 
    cell3 = row.insertCell(2), // Quantity 
    cell4 = row.insertCell(3), // price 

    testBalance = '3.00', 
    testName = 'Mike', 
    testQuantity = '2.00', 
    testPrice = '5.00'; 

cell1.innerHTML = testBalance; // bank account 
cell2.innerHTML = testName; //stock symbol 
cell3.innerHTML = testQuantity; // Quantity 
cell4.innerHTML = testPrice; // bought 

//you can remove these lines 
//var SAVE = document.getElementById("myTable"); 
//SAVE.appendChild(row); 

save(cell1.innerHTML); 
save(cell2.innerHTML); 
save(cell3.innerHTML); 
save(cell4.innerHTML); 
// save(Balance+"......................."+ 
// name + "......................." + 
// quantity + "......................." + 
//price + //"......................."); 

jsFiddle이다.
나는 이것이 도움이 되었길 바란다 :-)

+0

하지만 일단 새로 고침을하면 여전히 똑같은 일을한다. 그래서 이것은 해결책이 아니다 ...? – utchia

+0

** 무엇을 ** 새로 고칠 때? 상쾌 함으로 당신은 무엇을 의미합니까? – orb

+0

페이지가 새로 고쳐지면 로컬 저장소가 모두 엉뚱한 상태가됩니다. – utchia