2012-06-01 3 views
0

Как я могу отключить диалоговые кнопки JQuery UI, как:Отключение диалоговые кнопки JQuery пользовательского интерфейса

$("#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'. (То же поведение, которое мы можем увидеть при установке любого нового программного обеспечения.) Как я могу это сделать?

+0

Я предполагаю, что у них есть набор 'id' или' class', просто установить некоторые обработчики событий с '' .on' или .live' (в зависимости от JQuery версия), вызывающая функцию проверки/проверки, это не может быть так сложно. –

ответ

1

Вы можете использовать Firebug или инспектировать элемент из Google Chrome затем найти следующий идентификатор кнопки или правило 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.... 
+0

, но как мы можем дать идентификатор 'dialog's Next button' – gaurav

+0

JQuery обычно делает это сам, вы не можете изменить это –

+0

спасибо за ответ и объяснение, он работает – gaurav

0

Чтобы включить:

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

Для отключения:

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

Button Widget API

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"); 
Смежные вопросы