JQuery Ui Dialog Buttons, Как добавить класс?
Я нашел этот ответ в другом потоке.
Как добавить несколько кнопок в диалоговое окно JQuery UI?
Используя этот синтаксис, как вы добавляете класс к определенной кнопке?
$("#mydialog").dialog({
buttons: {
'Confirm': function() {
//do something
$(this).dialog('close');
},
'Cancel': function() {
$(this).dialog('close');
}
}
});
Ответы
Ответ 1
Не похоже, что это отличный способ сделать это через API, однако вы можете добавить классы в обработчик событий для create
:
$("#dialog").dialog({
buttons: {
'Confirm': function() {
//do something
$(this).dialog('close');
},
'Cancel': function() {
$(this).dialog('close');
}
},
create:function () {
$(this).closest(".ui-dialog")
.find(".ui-button:first") // the first button
.addClass("custom");
}
});
Если вы хотите использовать вторую кнопку, вы можете использовать:
$(this).closest(".ui-dialog").find(".ui-button").eq(1).addClass("custom") // The second button
Ключ $(this).closest(".ui-dialog").find(".ui-button")
, который будет выбирать кнопки в вашем диалоговом окне. После этого вы можете применить любой желаемый селектор (в том числе :contains(...)
, который может быть полезен, если вы хотите выбрать кнопку на основе ее текста вместо своего порядка).
Вот пример: http://jsfiddle.net/jjdtG/
Также обратите внимание, что селектор CSS для стилей (ов), которые вы хотите применить, должен быть более конкретным, чем встроенные селектора jQueryUI, чтобы стиль был применен.
Ответ 2
Вы можете добавить класс к кнопке в диалоговом окне...
$('#mydialog').dialog({
buttons:{
"send":{
text:'Send',
'class':'save'
},
"cancel":{
text:'Cancel',
'class':'cancel'
}
});
Я думаю, что это сработает для вас. и вы можете найти больше ответов здесь.
Ответ 3
Надеюсь, это поможет!
$("#mydialog").dialog({
buttons: {
'Confirm': function() {
//do something
$(this).dialog('close');
},
"Cancel": {
click: function () {
$(this).dialog("close");
},
text: 'Cancel',
class: 'custom-class'
}
}
});
Ответ 4
Используйте обработчик открытых событий:
open: function(event) {
$('.ui-dialog-buttonpane').find('button:contains("Cancel")').addClass('cancelButton');
}
Чистый, простой, кусок пирога!
Ответ 5
Благодаря LintonB вы можете добавить все свойства, прикрепленные к кнопке, такие как стиль, идентификатор и т.д.
dialog_options.buttons = {
'Modify': {
click: function() {
$(this).dialog('close');
if (inputs.phone !== '') {
inputs.phone.focus();
inputs.phone[0].value = "";
}
},
class: 'btn btn-labeled btn-warning',
style: 'margin-right: 30px;',
id: 'modificationId'
},
'Keep': {
click: function() {
$(this).dialog('close');
_this.validatePhone(i);
},
class: 'btn btn-labeled btn-warning',
id: 'conserverId'
}
};