1 回答
TA贡献1880条经验 获得超4个赞
使用 jQuery,您可以使用ajax函数。此函数使 http 请求在完成时调用回调。有多个回调和设置它们的方法,我建议您查看文档。在这种情况下,我们使用done
,它仅在请求成功时才被调用。
为了在附加选项时避免字符串插值,我使用第二个属性参数来设置值和文本。
var form = $("<form></form>");
$("body").append(form)
form.append("<div class='row'></div>");
form.find(".row")
.append("<div class='col-md-6'><div class='form-group'><label class='control-label'>Students</label><select class='form-control' name='students'></select></div></div>");
$.ajax({
url: "path/to/students/endpoint",
dataType: "json", //assuming you return json from you php script
}).done(function (students){
//assuming students is an array of names
var select = form.find('select[name=students]');
for(var name of students) {
select.append($("<option></option>", {
value: name,
text: name
}))
}
})
//Since this is an example and I cant actually make an ajax call
function fakeAjaxResponse(students) {
var select = form.find('select[name=students]');
for(var name of students) {
select.append($("<option></option>", {
value: name,
text: name
}))
}
}
fakeAjaxResponse([
"StudentA",
"StudentB"
])
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
添加回答
举报