【问题标题】:Javascript: Add to string until ready for displayJavascript:添加到字符串直到准备好显示
【发布时间】:2013-12-09 10:17:34
【问题描述】:

我正在使用这个函数从我的 IndexedDb logStore 中读取所有信息(是的,变量设置正确)

当我调用该函数并显示结果时,我得到的只是我定义的表的前两行。 if (cursor) {} sn-​​p 不会将任何输出放入表中,但是 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;
      }
    };      
}

【问题讨论】:

    标签: javascript indexeddb


    【解决方案1】:

    concat() 返回一个新数组,该数组由该数组与其他数组和/或值连接而成。您应该编写类似content = content.concat(...) 的内容,或者您​​可以使用+=,就像您对第一个字符串连接所做的那样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 2015-10-13
      • 2011-08-10
      • 1970-01-01
      相关资源
      最近更新 更多