我尝试在 <select><option> ... </option></select>
中使用 foreach 循环元素与jquery + ajax,但我这样做后它没有显示任何值。
当我尝试控制台时没有错误,它完美地显示了结果数据。但是当我为每个执行操作时,“数据”不会出现在我的选项元素中。
$("#rm-btn").on("click", function(e) {
let normIn = $("#norm-input").val();
$.ajax({
url: "regis/checkrm",
type: "POST",
dataType: "json",
data: {
norm: normIn
},
success: function(res) {
if (res) {
$("#data-pas")
.slideDown("slow")
.html(
`<table class="table table-borderless" id="datatab">
<tbody>
<tr>
<td>Name</td>
<td>:</td>
<td>` + res.name + `</td>
<td>Sex</td>
<td>:</td>
<td>` + res.sex + `</td>
</tr>
<tr>
<td>Date_birth</td>
<td>:</td>
<td>` + res.date_birth + `</td>
<td>Address</td>
<td>:</td>
<td>` + res.address + `</td>
</tr>
<tr>
<td>Status</td>
<td>:</td>
<td>` + res.status + `</td>
<td>Job</td>
<td>:</td>
<td>` + res.job + `</td>
</tr>
</tbody>
</table>`
);
$.ajax({
url: "regis/getdata",
type: "POST",
dataType: "json",
success: function(result) {
if (result) {
$("table").after(
`<div class="form-group form-row my-2 mx-2">
<label>Choose data</label>
<select class="form-control" id="data" name="data"> ` +
$.each(result, function(i, data) {
$("data").append(`<option>` + data.name + `</option>`);
}) +
`</select>
</div>`
);
} else {}
}
});
} else {
console.log(res);
}
}
});
});
最佳答案
您始终需要附加完整的标签
$("table").after(
`<div class="form-group form-row my-2 mx-2">
<label>Choose data</label>
<select class="form-control" id="data" name="data"></select>
</div>`);
$data = $("#data");
$.each(result, function(i, data) {
$data.append(`<option>${data.name}</option>`);
})
关于javascript - 对于使用 select 元素(ajax、bootstrap)时的每个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56848834/