禁用jquery ui对话框按钮

时间:2012-06-01 07:26:46

标签: javascript jquery

如何禁用jquery UI对话框按钮,如:

   $("#dialog").dialog({ width: 500, modal: true, show: 'drop', hide: 'drop',
        buttons: {
            "Next": function () {/* do something */ },
            "Finish" : function {/* do something */ } 
        }
    });

我希望保留disabled the Next button,直到用户选择一些radio button or checkbox,然后用户将选择'Next button will enabled'中的任何一个。 (当我们安装任何新软件时,我们可以看到相同的行为。)。我该怎么做?

3 个答案:

答案 0 :(得分:1)

您可以使用来自Google Chrome的firebug或inspect元素然后查找下一个按钮ID或css规则...我的意思是按钮的正确选择器然后您可以随时调用

$("Nextbutton selector").attr('disabled','disabled');

重新启用

$("Nextbutton selector").removeAttr('disabled');

希望这个帮助

PS: 当我看到检查时

<button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" type="button" role="button" aria-disabled="false">
<span class="ui-button-text">Next</span>
</button>

所以你可以打电话给

$('button.ui-button:contains("Next")').attr....

答案 1 :(得分:0)

启用:

$(e.currentTarget).button( "option", "disabled", false );

要禁用:

$(e.currentTarget).button( "option", "disabled", true );

Button Widget API

答案 2 :(得分:0)

创建并打开对话框后,这就是(您的代码)所做的事情:

 $("#dialog").dialog({ width: 500, modal: true, show: 'drop', hide: 'drop',
    buttons: {
        "Next": function () {/* do something */ },
        "Finish" : function {/* do something */ } 
    }
 });

这样做:

 $("#dialog").dialog('widget')
     .find("button :contains('Next')").parent().button("disable");

它会立即禁用“下一步”按钮。准备好后,您可以通过执行以下操作启用按钮:

 $("#dialog").dialog('widget')
     .find("button :contains('Next')").parent().button("enable");