【发布时间】:2020-04-07 17:37:37
【问题描述】:
我有一个充满数据的表(从 url 获取),数据是
{
"id": "145127236",
"mygoals": "success",
"future": "high",
"dole": {
"Key": "fhd699f"
}
}
在表格下我有一个选择框(它的数据也是从url获取的)它的数据是这样的
[{
"id": "1111",
"mygoals": "getmarried",
"future": "married",
},
{
"id": "2222",
"mygoals": "getmarried",
"future": "married",
},
{
"id": "33333",
"mygoals": "getmarried",
"future": "married",
}
]
我想要实现的是,当用户从选择框中进行选择时,表格应该填充所选择的特定数据,我是 javascript 学习的初学者,这应该很容易,不知道该怎么做,这是我的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
<style>
</style>
</head>
<body>
<div class="container">
<table class="table table-responsive-sm ">
<thead>
<tr>
<th>id</th>
<th>mygoals</th>
<th>future</th>
</tr>
</thead>
<tbody id="t">
</tbody>
<thead>
<tr>
<th>id</th>
<th>mygoals</th>
<th>future</th>
</tr>
</thead>
<tbody id="t2">
</tbody>
</table>
<select id="Select" name="name"></select>
</div>
<script>
fetch("https://asdasd.free.beeceptor.com/a", {
method: "GET",
headers: {
"x-api-key": "p*****w"
}
}).then(res => {
res.json().then(t => {
console.log(t);
var p = "";
var p2 = "";
p += "<tr>";
p += "<td>" + t.id + "</td>";
p += "<td>" + t.mygoals + "</td>";
p += "<td>" + t.future + "</td>";
p2 += "<td>" + t.id + "</td>";
p2 += "<td>" + t.mygoals + "</td>";
p2 += "<td>" + t.future + "</td></tr>";
document.getElementById("t").insertAdjacentHTML("beforeend", p);
document.getElementById("t2").insertAdjacentHTML("beforeend", p2);
})
}).catch(err => {
console.log("ERROR: " + err);
});
fetch("https:******.com/", {
method: "GET",
headers: {
"x-api-key": "p*****w"
}
}).then(res => {
res.json().then(t => {
for (var i = 0; i < t.length; i++) {
var s = document.getElementById("Select");
var o = document.createElement("option");
option.text = t[i].id + ' ' + t[i].mygoals;
s.add(o);
}
})
})
</script>
</body>
</html>
【问题讨论】:
-
您是想用选定的数据替换表格数据还是在表格中添加更多数据并保留旧数据
-
@Ivan86 替换数据
-
妈的,结婚你别闹! :) 严肃地说,我们可以尝试将所有数据放入一个变量中,更改那里的值并重新填充吗?
-
@LearningEveryday 哈哈 :) 是的,如果它变得更容易,如果它的简单代码让初学者从中学习会很好
标签: javascript html json for-loop fetch