Диалоговое окно jQuery UI - невозможно удалить кнопки - PullRequest
7 голосов
/ 15 июля 2009

Как убрать кнопки в диалоге jquery? Например, я попытался повторно вызвать .dialog с правильными новыми параметрами, но диалог, кажется, не затронут.

$ ('. Селектор'). Диалог ('опция', 'кнопки', {}); не работает и не работает, если объявлены новые строки и функции кнопок.

Мысли

Ответы [ 6 ]

13 голосов
/ 16 июля 2009

Вы передаете новые кнопки, установленные неправильно. Опции должны быть переданы как объект.

Это будет работать:

var options = {
    buttons: {}
};
$(selector).dialog('option', options);

Нет необходимости уничтожать и создавать новый диалог.

Конечно, вы также можете заменить объект кнопок новым набором кнопок, если хотите:

var options = {
    buttons: {
        NewButton: function () {
            $(this).dialog('close');
            // add code here
        }
    }
};
$(selector).dialog('option', options);
4 голосов
/ 10 марта 2011

FWIW,

$(".dialog").dialog("option", "buttons", null);
2 голосов
/ 03 сентября 2009

Кнопки не могут быть добавлены / установлены во время загрузки диалога.

0 голосов
/ 07 декабря 2010

Другой, возможно, самый простой и очень гибкий способ сделать это с помощью CSS. (что, если они понадобятся в будущем ...).

выглядит как:

.ui-dialog-titlebar-close{display:none}

Если вы хотите сделать это только для некоторых диалогов, вы можете добавить опцию dialogClass: при инициализации диалога, и ваш CSS будет выглядеть так (например, вы добавили myDialogClass как dialogClass, так что весь контейнер диалога будет доступен через этот класс:

.myDialog  .ui-dialog-titlebar-close{display:none}

Удачи в настройке!

0 голосов
/ 19 августа 2009

Обсуждение здесь лучше: http://www.nabble.com/jQuery-dialog-add-remove-button-on-the-fly-td22036498s27240.html

Добавьте в предписанные расширения, и вы можете просто использовать addbutton и removebutton (следует переключиться на случай верблюда естественно:)

0 голосов
/ 15 июля 2009

Вам необходимо destroy текущее значение. Затем вы можете создать новый с новыми параметрами, которые вы хотите.

РЕДАКТИРОВАТЬ (к ответу на комментарий): Я не знаю, что тебе сказать. Я сделал следующее на моем сайте и WFM.

$('.selector').dialog('destroy');
$('.selector').dialog({ buttons: { "Ok": function() { $(this).dialog("close"); } } });
$('.selector').dialog('open');

Вам нужно вернуться в состояние перед инициализацией, чтобы изменить кнопки, что и делает destroy. Может быть, я просто не был достаточно ясен на ступеньках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...