Returning "ReferenceError: variable is undefined"
Returning "ReferenceError: variable is undefined"
我正在做一些练习。我正在尝试在单击 table 行时创建模式弹出窗口 window,并显示所单击状态的相关信息。
JSON 正在返回这个:
"data": [
{
"ID State": "04000US01",
"State": "Alabama",
"ID Year": 2019,
"Year": "2019",
"Population": 4903185,
"Slug State": "alabama"
}
]
并且我正在尝试将 Slug 状态线用于另一个 API 在通话中使用它。
function BuildStatesByPopulation(data) {
if (stateTable != null) {
for (var i = 0; i < data.length; i++) {
let addRow = `<tr id="stateData" class='clickable-row' onClick=SelectStateOpenModal(${data[i]["Slug State"]})>
<td>${data[i].State}</td>
<td>${data[i].Population}</td>
</tr>`
stateTable.innerHTML += addRow;
//console.log(data[i]["Slug State"]);
}
}
}
function SelectStateOpenModal(stateName) {
let setState = String(stateName);
let stateDisplay;
let stateJson
console.log(stateName);
$.ajax({
type: 'GET',
url: stateInformation+setState,
success: function (response) {
stateJson = response.data;
stateDisplay = document.getElementById('modalView');
console.log(stateJson);
}
});
}
单击控制台上的 table 行时返回:
index2.html:71 Uncaught ReferenceError: nebraska is not defined at HTMLTableRowElement.onclick (index2.html:71:87)
这是一个使用 dataset 将 Slug State
传递给事件处理程序的建议。
function BuildStatesByPopulation(data) {
if (stateTable != null) {
data.forEach(d => {
// Create a row element
let tr = document.createElement("tr");
tr.classList.add("clickable-row");
tr.dataset.slug = d["Slug State"];
// Set an event listener
tr.addEventListener("click", SelectStateOpenModal);
// Create the two tds
let td1 = document.createElement("td");
td1.innerText = d.State;
let td2 = document.createElement("td");
td1.innerText = d.Population;
// Appends everything
tr.append(td1);
tr.append(td2);
stateTable.append(tr);
})
}
}
// In the event handler, get the Slug State from this.dataset
function SelectStateOpenModal() {
let setState = this.dataset.slug;
// ...
}
我正在做一些练习。我正在尝试在单击 table 行时创建模式弹出窗口 window,并显示所单击状态的相关信息。
JSON 正在返回这个:
"data": [
{
"ID State": "04000US01",
"State": "Alabama",
"ID Year": 2019,
"Year": "2019",
"Population": 4903185,
"Slug State": "alabama"
}
]
并且我正在尝试将 Slug 状态线用于另一个 API 在通话中使用它。
function BuildStatesByPopulation(data) {
if (stateTable != null) {
for (var i = 0; i < data.length; i++) {
let addRow = `<tr id="stateData" class='clickable-row' onClick=SelectStateOpenModal(${data[i]["Slug State"]})>
<td>${data[i].State}</td>
<td>${data[i].Population}</td>
</tr>`
stateTable.innerHTML += addRow;
//console.log(data[i]["Slug State"]);
}
}
}
function SelectStateOpenModal(stateName) {
let setState = String(stateName);
let stateDisplay;
let stateJson
console.log(stateName);
$.ajax({
type: 'GET',
url: stateInformation+setState,
success: function (response) {
stateJson = response.data;
stateDisplay = document.getElementById('modalView');
console.log(stateJson);
}
});
}
单击控制台上的 table 行时返回:
index2.html:71 Uncaught ReferenceError: nebraska is not defined at HTMLTableRowElement.onclick (index2.html:71:87)
这是一个使用 dataset 将 Slug State
传递给事件处理程序的建议。
function BuildStatesByPopulation(data) {
if (stateTable != null) {
data.forEach(d => {
// Create a row element
let tr = document.createElement("tr");
tr.classList.add("clickable-row");
tr.dataset.slug = d["Slug State"];
// Set an event listener
tr.addEventListener("click", SelectStateOpenModal);
// Create the two tds
let td1 = document.createElement("td");
td1.innerText = d.State;
let td2 = document.createElement("td");
td1.innerText = d.Population;
// Appends everything
tr.append(td1);
tr.append(td2);
stateTable.append(tr);
})
}
}
// In the event handler, get the Slug State from this.dataset
function SelectStateOpenModal() {
let setState = this.dataset.slug;
// ...
}