禁用后不启用jquery对话框按钮

时间:2013-09-16 15:42:24

标签: jquery jquery-ui-dialog

我有这样的代码。对话框打开并在第一次运行良好,对话框按钮显示为隐藏。条件为真时,代码可以很好地启用按钮。关闭对话框后,当第二次打开时,它再次显示正确隐藏,但是当它采用相同的条件时,它不会启用。我在那里发出警报,它很好看,但是句子$(“。ui-dialog-buttonpane button:contains('Aceptar')”)。button(“enable”);这次不行。会发生什么?

以下是代码片段:

$(document).ready( function() {
 $( "#pregunta3 label" ).click(
    function(event) 
    {
       var eleccion = $(this).text();
       var titulo = $("#h33").text();
       if(event.target==this){


     $("#contiene_preguntas").accordion({active:false});
     $("#pipa3").text(eleccion);

     if($("#pregunta1").length & $("#pregunta2").length)
     {
       if($("#pregunta1 input[type=radio]").is(':checked') & $("#pregunta2 input[type=radio]").is(':checked'))
       {
         var isDisabled = $( ".selector" ).button( "option", "disabled" );

           alert(isDisabled);
           **$(".ui-dialog-buttonpane button:contains('Aceptar')").button("enable")****;

       }
     }

2 个答案:

答案 0 :(得分:0)

     var isDisabled = $( ".selector" ).button( "option", "disabled" );

     alert(isDisabled);
     $(".ui-dialog-buttonpane button:contains('Aceptar')").button("enable");

为什么你有不同的选择器?

你确定你的第二个选择器是正确的吗?

检查console.log( $(".ui-dialog-buttonpane button:contains('Aceptar')") )

答案 1 :(得分:0)

看看这一行:

var isDisabled = $( ".selector" ).button( "option", "disabled" );

它似乎是从button的选项get的jQuery UI示例中复制的。

我认为你没有这个选择器,所以你可以想要获得dialog的状态或button的状态(我认为是第二个)。

按照代码获取它们:

  • 对话:$(<your dialog selector>).dialog( "option", "disabled" );
  • 对话框按钮:$(".ui-dialog-buttonpane button:contains('Aceptar')").button( "option", "disabled" );