首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jquery对话框中有条件地显示隐藏按钮

如何在jquery对话框中有条件地显示隐藏按钮
EN

Stack Overflow用户
提问于 2014-11-11 15:09:50
回答 2查看 2.8K关注 0票数 0

我使用的是非常基本的jQuery Dialog

代码语言:javascript
复制
$(function () {
$("#dialog-form").dialog({
                        height: 300,
                        width: 450,
                        modal: true,
                        buttons: {
                            "show-hide": function () {
                                $(this).dialog('destroy').empty();
                            },
                            "Start": function () {
                                $(this).dialog('destroy').empty();
                            },
                            "Abort": function () {
                                $(this).dialog('destroy').empty();
                            }
                        },
                        close: function () {
                            $(this).dialog('destroy').empty();
                        }
                    });
              })

下面是一个JS Fiddle示例,尽管这是非常基本的。因此,在我的实际示例中,如果满足某个条件,则应该显示"show-hide"按钮。我最终想要实现的是这样的目标:

代码语言:javascript
复制
         "show-hide": function () {
           if (someValue == true)
           {
            show button
           }
           else
           {
           hide button
           }
              $(this).dialog('destroy').empty();
         }

考虑到这一点,这样的内联定义很可能无论如何都行不通。但是我如何为这个特定的按钮实现这个逻辑呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-11 15:28:37

您可以扩展按钮对象以在条件下添加或删除按钮。

代码语言:javascript
复制
                buttons: $.extend( 
                           //replace false with your variable
                           (false) ? 
                           // if true, adds object with show-hide
                            {"show-hide" : function(){

                             } } : 
                            //else empty object
                            {},
                         //merge with buttons that are permanent
                        {
                        "Start": function () {
                            $(this).dialog('destroy').empty();
                        },
                        "Abort": function () {
                            $(this).dialog('destroy').empty();
                        }
                    })

http://jsfiddle.net/rh7tvdjb/2/

票数 2
EN

Stack Overflow用户

发布于 2014-11-11 15:16:33

您可以访问对话框中的按钮-jQuery的。

代码语言:javascript
复制
$("#dialog-form").dialog({
                    height: 300,
                    width: 450,
                    modal: true,
                    buttons: [{
                      'class' : 'yourClass'  
                       text: "show-hide",
                       click: function () {
                            $(this).dialog('destroy').empty();
                        } 
                    }]
                });
          });

我认为您可以在新版本的jQuery中向按钮添加特定的类。(类周围的引号对于例如IE是必要的,因为它是一个保留关键字)然后您可以这样做:

代码语言:javascript
复制
if(somevalue === false){
   $(".yourClass").button("disable");
}else{
   $(".yourClass").button("enable");
}

现在,您可以在您的条件下禁用和启用对话框的按钮。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26867994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档