javascript – 以编程方式禁用jquery ui对话框上的按钮,直到ajax调用完成?

前端之家收集整理的这篇文章主要介绍了javascript – 以编程方式禁用jquery ui对话框上的按钮,直到ajax调用完成?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 jquery ui dialog,其中一个按钮导致ajax调用需要几秒钟,因此我想在我点击它之后禁用该按钮,直到ajax调用返回(然后我将启用它).

从谷歌搜索,我看到其他几个问这个问题,但答案似乎非常过时和hacky(基于非常旧版本的jquery ui).所以我希望现在有更优雅的方式来做到这一点

如何在jquery ui对话框上以编程方式禁用或启用按钮?

解决方法

我想这就是你要找的东西:

>按下的按钮将被禁用
>延迟的承诺将一直等到ajax()调用完成
>然后延迟操作将重新启用按钮

::

buttons: {
    "DoAjax": function( e ) {
       //disabling button clicked
       var btnAjax = $(".ui-dialog-buttonpane button:contains('DoAjax')");
       btnAjax.disable(true);

       $.when( $.ajax( "/api/controller/action" ) )
            .then(function( data,textStatus,jqXHR ) {
                 // re-enable pressed button
            btnAjax.disable(false);
            })
      }),"Close":

    }

猜你在找的Ajax相关文章