JavaScript生成的HTML-Table无缘无故产生“未定义”

时间:2018-11-04 15:03:29

标签: javascript jquery html5

我有一个Rich Internet Application,它使用WEB-SQL数据库作为源。使用简单的HTML表单,您可以从数据库中选择所需的输出。这是通过Javascript文件触发的,该Javascript文件侦听“查询”按钮的单击。一切正常,但我一直在输出中得到“未定义”-DIV。我不知道它从哪里来。随附了输出的屏幕截图。在“找到的行:数字”行之后,有一个我根本没有得到的脚本中的“未定义”语句。欢迎任何提示!

$("#query").click(function() {

  var sql_string = "SELECT * from PSYCH where ";
  var selected = [];

  $('#szene input:checked').each(function() {
    selected.push($(this).attr('name'));
  });
  var selected_length = selected.length;
  sql_string = sql_string + selected[0] + " = '1'";
  for (var i = 1; i < selected_length; i++) {
    //alert(selected[i]);
    sql_string = sql_string + " AND " + selected[i] + " = '1'";
  }

  db.transaction(function(tx) {
    //alert("String: "+sql_string);
    tx.executeSql(sql_string, [], function(tx, results) {

      var len = results.rows.length;
      msg = "<h3>Ergebnis</h3><p>Query: " + sql_string + "</p>";
      msg += "Found rows: " + len + "<br>";
      msg += "<table><tr><th>Name</th><th>ICD10-Code</th><th>Web-Link</th></tr>";

      for (i = 0; i < len; i++) {
        msg_loop += "<tr><td>" + results.rows.item(i).stoerung + "</td><td> " + results.rows.item(i).icd10code + "</td><td> <a href='" + results.rows.item(i).icd10_link + "' target='_blank'>Zur ICD10-Definition</a></td></tr>";

      }
      msg += msg_loop + "</table>";

      $("#output").html(function() {
        return msg
      });
    }, null);
  }, errorCB, successCB);
});

enter image description here

2 个答案:

答案 0 :(得分:0)

似乎在for中遍历结果时,您需要访问以下元素: results.rows[i]

答案 1 :(得分:0)

我看不到msg_loop变量定义。因此,msg_loop +=将不起作用。在使用前,for周期之前进行定义:var msg_loop = ''