jQuery UI dialog-невозможно удалить кнопки
Как удалить кнопки в диалоговом окне jquery? Например, я попытался перезвонить .диалог с правильными новыми параметрами, но диалог кажется незатронутым.
$('.selector').dialog ('option', 'buttons', {}); не работает и не работает, если объявлены фактические новые строки и функции кнопок.
мысли?
6 ответов
вы передаете новые кнопки, установленные неправильно. Параметры должны передаваться как объект.
это будет работать:
var options = {
buttons: {}
};
$(selector).dialog('option', options);
нет необходимости уничтожать и создавать новый диалог.
конечно, вы также можете заменить объект buttons новым набором кнопок, если хотите:
var options = {
buttons: {
NewButton: function () {
$(this).dialog('close');
// add code here
}
}
};
$(selector).dialog('option', options);
вам нужно destroy
сначала текущий. Затем вы можете сделать новый с новыми опциями, которые вы хотите.
EDIT (для ответа на комментарий): Я не знаю, что тебе сказать. Я сделал следующее на своем сайте и WFM.
$('.selector').dialog('destroy');
$('.selector').dialog({ buttons: { "Ok": function() { $(this).dialog("close"); } } });
$('.selector').dialog('open');
вам нужно вернуться в состояние pre-init, чтобы изменить кнопки, что и есть destroy
делает. Может, я просто недостаточно ясно выразился на ступеньках.
обсуждение здесь лучше: http://www.nabble.com/jQuery-dialog-add-remove-button-on-the-fly-td22036498s27240.html
добавьте в предписанные расширения, и вы можете просто использовать addbutton и removebutton (должен переключиться на camel case естественно:)
Anotherm, может быть, самый простой и очень гибкий способ сделать это через CSS. (что, если в будущем они вам понадобятся?..).
выглядит так:
.ui-dialog-titlebar-close{display:none}
Если вы хотите сделать это только для некоторых диалоговых окнах, можно добавить dialogClass:
опция при инициализации диалога, и ваш css будет выглядеть (например, вы добавили myDialogClass как dialogClass, поэтому весь контейнер диалога будет доступен через этот класс:
.myDialog .ui-dialog-titlebar-close{display:none}
удачи в настройка!