c# - 如何在加载所有相关数据之前不显示 JQuery 对话框?

标签 c# javascript jquery ajax model-view-controller

我在填充所有数据(文本框、下拉菜单等)之前显示 JQuery dialog() 时遇到问题。

我只是调用:

$("#myDiv").dialog("open") is called

然后在对话框属性下:

       $("#myDiv").dialog({
        title: "Edit User",
        autoOpen: false,
        height: 500,
        width: 500,
        modal: true,
        open: function(event,ui){
        url = "/controller/action" + param;
        $(this).load(url);

        ...various $.ajax and $.GetJson calls to populate form drop down menus and other fields...},
        buttons: {
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

因此,一个对话框打开,大约几秒钟后闪烁并填充数据。有时它会滞后,数据根本不会进入字段。在它最终被填充之前,我可能不得不多次关闭/重新打开对话框。 非常令人沮丧。

让它发挥作用的最简单方法是什么?我希望对话框弹出窗口每次都正确填充数据,并且在准备好之前不显示。

最佳答案

问题是:

        open: function(){
    ...various $.ajax and $.GetJson calls to populate form drop down menus and other fields...},

不要在打开时填充,在创建时填充

create: function(){
    ...various $.ajax and $.GetJson calls to populate form drop down menus and other fields...},

关于c# - 如何在加载所有相关数据之前不显示 JQuery 对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728831/

相关文章:

c# - 使用 Entity Framework 的 SqlBulkCopy(和更新)

javascript - 在 css 工作表中填充编号的类名

javascript - Protractor/Node 版本兼容性

javascript - 如何使用 jquery 将 html 模板创建为字符串?

javascript - 如果已选中所选框,如何在加载页面时运行 onchange 函数

javascript - 嵌套模型通过javascript添加和销毁

c# - 使用 jQuery Ajax 将对象列表传递给 MVC Controller 方法

c# - 检查 Rabbitmq 是否宕机

c# - 将 C++ COM 类转换为 C# 以供 C++ 可执行文件调用

javascript - ExtJS 6 - 存储 $binding 未定义