我收到这样的错误。
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 newtableHTML
为let newtableHTML
。
然后我将其更改为var newtableHTML
,但没有运气。
答案 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