HTML-таблица, сгенерированная Javascript, выдает «undefined» без причины - PullRequest
0 голосов
/ 04 ноября 2018

У меня полнофункциональное интернет-приложение, которое использует базу данных WEB-SQL в качестве источника. С помощью простой HTML-формы вы можете выбрать нужный вывод из базы данных. Это вызвано Javascript-файлом, который прослушивает нажатие кнопки «Запрос». Все работает нормально, но я получаю «неопределенный» в выводе - DIV. Я понятия не имею, откуда это взялось. Снимок экрана с вывода прилагается. После строки «Найдено рядов: число» идет сценарий «undefined» из сценария, который я вообще не получаю. Любая подсказка приветствуется!

$("#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 голосов
/ 04 ноября 2018

Я не вижу msg_loop определение переменной. Итак, msg_loop += не будет работать. Определите его перед использованием, перед циклом for: var msg_loop = ''.

0 голосов
/ 04 ноября 2018

Похоже, когда вы перебираете результаты в for, вам нужно получить доступ к таким элементам, как: results.rows[i]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...