我尝试使用jquery + ajax在<select><option> ... </option></select>
元素中使用foreach循环,但是这样做后它没有显示任何值。
没有错误,当我尝试进行控制台操作时,它完美地显示了结果数据。但是,当我为每个对象执行操作时,“数据”都不会出现在我的选项元素中。
$("#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);
}
}
});
});
答案 0 :(得分:3)
您始终需要附加完整的标签
if ($model->load($post)) {
if ($post['Category'] && $post['Category']['price']) {
$model->price = $post['Category']['price'];
}
if ($post['Category'] && $post['Category']['expire_days']) {
$model->expire_days = $post['Category']['expire_days'];
}
$model->save();
$output = '';
$out = Json::encode(['output'=>$output,'message'=>'']);
}