2013-04-16 2 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. Это гораздо эффективнее, чем делать это с JavaScript:

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

Некоторые изменения в вашем JavaScript:

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

, когда страница обновляется, местное хранилище получает все wacky – utchia

Смежные вопросы