2013-11-24 1 views
0

Я использую эту функцию, чтобы прочитать всю информацию из моего IndexedDB logStore (да переменные установлены правильно)Javascript: Добавить в строку до готовности для отображения

Когда я вызываю функцию, и она отображает результат, все, что я получаю, это первые две строки таблицы, которую я определил. Фрагмент if (курсор) {} не будет помещать какой-либо вывод в таблицу, однако alert() отображает всю информацию до тех пор, пока в хранилище не будет больше данных.

Есть ли у кого-нибудь предложения по внесению данных в таблицу?

function readLog() { 
// TODO: Make strings concatenate 
var objectStore = db.transaction(logStore).objectStore(logStore); 

    objectStore.openCursor().onsuccess = function(event) { 

     content = '<table border="1" width="50%"><tr><td width="10%">Event ID</td><td width="10%">Timestamp</td><td width="80%">Message</td></tr>'; // Works 
     content += "<tr><td>Test</td><td>Test</td><td>Test</td></tr>"; // Works 

     var cursor = event.target.result; 

     if (cursor) { 
      content.concat("<tr><td>" + cursor.key + "</td><td>" + cursor.value.timestamp + "</td><td>" + cursor.value.message + "</td></tr>"); // Doesn't work 
      alert("ID: " + cursor.key + " TS: " + cursor.value.timestamp + " Message: " + cursor.value.message); // Works 
      cursor.continue(); 
     } 
     else { 
      content.concat("</table>"); 
      document.getElementById('result').innerHTML=content; 
     } 
    };  
} 

ответ

0

concat() возвращает новый массив состоит из этого массива вместе с другим массивом (ами) и/или значение (ов). Вы должны написать что-то вроде content = content.concat(...), или вы можете использовать +=, как вы делали с первой конкатенацией строк.

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