3

我有一个关于员工属性的巨大表格,其中包含 300 个字段。

当管理员想要编辑员工属性时,他们会转到编辑页面。该表格是从数据库中动态打印的。

用户从下拉列表中选择一个员工,我们称之为 dropdown1。然后使用绑定到 dropdown1 的更改事件的 jquery ajax 调用从 JSON 数组填充表单。这样就可以正确填充 299 个字段。

但是,该表单还包含 2 个下拉菜单。让我们称它们为 dropdown2 和 dropdown3。

Dropdown2 在从数据库加载页面时填充。

Dropdown3 与 dropdown2 相关。当 dropdown2 更改时, dropdown3 的列表使用不同的 onchange ajax 函数进行更改。最初,在页面加载 dropdown3 上只有一个列表“选择”。

我的问题是当 dropdown1 更改时,表单中的每个字段都被填充,除了下拉 3。

我想要的是,当使用 jquery ajax 调用在 dropdown2 中更改选择时,

  1. dropdown3 应根据 dropdown2 中的值填充-基本上包含 dropdown2 的 div 的 html 应该更改(另一个 ajax 调用中的 ajax 调用?

  2. 应该在 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);
                }
            });
        });
    });
});
4

1 回答 1

1

这个有可能。您可以将 AJAX 调用作为第一次调用的回调。

$.ajax({
    url:"/echo/json/",
    data:xdata,
    type:"POST",
    success: function(data) {
        $.ajax({
            // config
            success: function(data2) {}; // do your stuff
        });
    }
});

如果您同时需要多个 AJAX 调用,则可以使用延迟对象:jQuery Deferred - 获取链式 ajax 调用的结果

于 2013-07-30T15:09:22.767 回答