我的newtableHTML没有定义

时间:2017-12-30 02:27:49

标签: javascript jquery

我收到这样的错误。

  

ReferenceError:未定义newtableHTML

  let initialTable = [];
  initialTable.push({
    table: newtableHTML
  });

这使我无法访问元素,我不得不重新加载页面,以便代码可以工作。我只知道打开控制台时它会变成newtableHTML not defined

如何在submitButton函数之外调用它?

jQuery:

$('.submitButton').click(function() {
  function getTableList() {
    var addTable = /*htmlcode*/ ;
    return addTable;
  }
  if ( /* code */ ) {
    // some code
  } else {
    var resultTable = JSON.parse(localStorage.getItem("tableList"));
    if (resultTable == null) {
      resultTable = [];
    }
    var newtableHTML = getTableList();
    resultTable.push({
      table: newtableHTML
    });
    localStorage.setItem("tableList", JSON.stringify(resultTable));
    $('.tab-content').append(newtableHTML);
    var newTable = $("#table" + localStorage.Index).dataTable();
  }
}); // submitButton function

var resultTable = JSON.parse(localStorage.getItem("tableList"));
if (resultTable != null) {


  for (var i = 0; i < resultTable.length; i++) {
    var items = resultTable[i];
    $(".tab-content").append(items.table);
  }
  $(".dynamicTable").dataTable();
} else {
  let initialTable = [];
  initialTable.push({
    table: newtableHTML
  });
  localStorage.setItem("tableList", JSON.stringify(initialTable));
}

以前,var newtableHTMLlet newtableHTML

然后我将其更改为var newtableHTML,但没有运气。

1 个答案:

答案 0 :(得分:1)

这是因为您已在var newtableHTML内声明$('.submitButton').click(function()并试图在其外部访问它。

您必须在newtableHTML之外或全局声明$('.submitButton').click(function()以便可以访问它。

尝试这样的事情 -

var newtableHTML; //declare it here
$('.submitButton').click(function() {
  function getTableList() {
    var addTable = /*htmlcode*/ ;
    return addTable;
  }
  if ( /* code */ ) {
    // some code
  } else {
    var resultTable = JSON.parse(localStorage.getItem("tableList"));
    if (resultTable == null) {
      resultTable = [];
    }
    newtableHTML = getTableList();  //initialize it here