Est-il possible d'ajouter des icônes pour les boutons sur un jQuery UI Dialog? J'ai essayé de le faire de cette façon:
$("#DeleteDialog").dialog({
resizable: false,
height:150,
modal: true,
buttons: {
'Delete': function() {
/* Do stuff */
$(this).dialog('close');
},
Cancel: function() {
$(this).dialog('close');
}
},
open: function() {
$('.ui-dialog-buttonpane').find('button:contains("Cancel")').addClass('ui-icon-cancel');
$('.ui-dialog-buttonpane').find('button:contains("Delete")').addClass('ui-icon-trash');
}
});
Les sélecteurs dans la fonction open semble fonctionner correctement. Si j'ai ajouter la ligne suivante à "ouvrir":
$('.ui-dialog-buttonpane').find('button:contains("Delete")').css('color', 'red');
puis je reçois un bouton Supprimer avec le texte en rouge. Ce n'est pas mauvais, mais j'aimerais vraiment que la petite poubelle de sprite sur le bouton Supprimer.
Edit:
J'ai fait une paire de réglages pour la accepté de répondre:
var btnDelete = $('.ui-dialog-buttonpane').find('button:contains("Delete")');
btnDelete.prepend('<span style="float:left; margin-top: 5px;" class="ui-icon ui-icon-trash"></span>');
btnDelete.width(btnDelete.width() + 25);
L'ajout de certains marge supérieure pousse l'icône vers le bas, de sorte qu'il ressemble il est centré verticalement. L'ajout de 25 px pour le bouton de largeur de garde le bouton de texte à partir d'habillage sur une deuxième ligne.