我有一个关于300个字段的员工属性的巨大表格。
当管理员想要编辑员工属性时,他们会转到编辑页面。此表单是从数据库中动态打印的。
用户从下拉列表中选择一名员工,然后将其称为dropdown1。然后使用绑定到dropdown1的change事件的jquery ajax调用从JSON数组填充表单。这样就可以正确填充299个字段。
但是,该表单还包含2个下拉列表。让我们称之为dropdown2和dropdown3。
从数据库加载页面时填充Dropdown2。
Dropdown3与dropdown2有关。当dropdown2更改时,dropdown3的列表会使用不同的onchange ajax函数进行更改。最初,在页面加载下拉列表3只有一个列表“选择”。
我的问题是当dropdown1更改时,表单中的每个字段都会填充,但下拉列表3除外。
我想要的是,当使用jquery ajax调用在dropdown2中更改选择时,
dropdown3应根据dropdown2中的值进行填充 - 基本上包含dropdown2的div的html应该更改( 另一个ajax调用中的ajax调用? )
应在dropdown2中选择正确的值(如果1有效,我认为我可以处理此部分)
如果我的问题非常冗长而且我无法正确解释,我会道歉。
$(document).ready(function(){
$("#adminobj0zb").delegate("#sel10", "change", function(e){
$.getJSON("editempajax2.php?empid=" + $("#sel10").val(),
function(data){
$.each(data, function(i, item){
if(item.field == "fname"){
$("#sel2").val(item.value);
//Here Make Second Ajax call and change content of div containing sel3 ... how ?
}
if(item.field == "mname"){
$("#sel3").val(item.value);
}
});
});
});
});
答案 0 :(得分:1)
这是可能的。您可以在第一次调用时将AJAX调用作为回调。
$.ajax({
url:"/echo/json/",
data:xdata,
type:"POST",
success: function(data) {
$.ajax({
// config
success: function(data2) {}; // do your stuff
});
}
});
如果您同时需要多个AJAX调用,则可以使用延迟对象:jQuery Deferred - getting result of chained ajax calls