I found this answer on another thread..
How to add multiple buttons in Jquery UI dialog box?
Using this syntax, how do you add class to a particular button?
$("#mydialog").dialog({
buttons: {
'Confirm': function() {
//do something
$(this).dialog('close');
},
'Cancel': function() {
$(this).dialog('close');
}
}
});
dialogButtons div button:nth-child(1)"). addClass("oneCssClass"); $("div. dialogButtons div button:nth-child(2)"). addClass("anotherCssClass");
If you're adding buttons by specifying them in the HTML itself, then use $("#dialog"). find('button') . All this is after you've called . dialog() on your selector, of course.
The jQuery UI dialog method is used to create a basic dialog window which is positioned into the viewport and protected from page content. It has a title bar and a content area, and can be moved, resized and closed with the 'x' icon by default.
You Can add class to the button's in Dialog...by
$('#mydialog').dialog({ buttons:{ "send":{ text:'Send', 'class':'save' }, "cancel":{ text:'Cancel', 'class':'cancel' } });
I think this will work for you. and you can find more answers here.
It doesn't look like there's a great way to do this via the API, however you could add the classes in an event handler for 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"); } });
If you wanted the second button, you could use:
$(this).closest(".ui-dialog").find(".ui-button").eq(1).addClass("custom") // The second button
The key is the $(this).closest(".ui-dialog").find(".ui-button")
, which will select the buttons in your dialog. After that, you could apply any selector you want (including :contains(...)
which might be useful if you want to select a button based on its text instead of its order).
Here's an example: http://jsfiddle.net/jjdtG/
Also note that the CSS selector for the style(s) you want to apply has to be more specific than jQueryUI's built-in selectors in order for the styling to be applied.
Hope it will help !
$("#mydialog").dialog({
buttons: {
'Confirm': function() {
//do something
$(this).dialog('close');
},
"Cancel": {
click: function () {
$(this).dialog("close");
},
text: 'Cancel',
class: 'custom-class'
}
}
});
Use the open event handler:
open: function(event) {
$('.ui-dialog-buttonpane').find('button:contains("Cancel")').addClass('cancelButton');
}
Clean, simple, piece of cake!
Thanks to LintonB, you can add all of the property attached to a button like style, id, etc...
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'
}
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With