Así que tengo actualmente un cuadro de diálogo jQuery con dos botones: Guardar y cerrar. Creo el diálogo usando el siguiente código:Aplicar CSS para jQuery diálogo Botones
$dialogDiv.dialog({
autoOpen: false,
modal: true,
width: 600,
resizable: false,
buttons: {
Cancel: function() {
// Cancel code here
},
'Save': function() {
// Save code here
}
},
close: function() {
// Close code here (incidentally, same as Cancel code)
}
});
Sin embargo, ambos botones son del mismo color cuando se utiliza este código. Me gustaría que mi botón Cancelar sea de un color diferente al de Guardar. ¿Hay alguna manera de hacer esto usando algunas opciones jQuery integradas? No obtuve mucha ayuda de la documentación.
Tenga en cuenta que el botón Cancelar que estoy creando es un tipo predefinido, pero en 'Guardar' estoy definiendo mi mismo. No estoy seguro de si eso tendrá alguna relación con el problema.
Cualquier ayuda sería apreciada. Gracias.
ACTUALIZACIÓN: consenso era que había dos caminos a recorrer aquí:
- Inspeccionar el HTML usando un plugin de Firefox como firebug y observe las clases CSS que jQuery es aplicar a los botones , y toma una puñalada para anularlos. Nota: en mi HTML, ambos botones se utilizaron las mismas exactas clases CSS y no hay identificadores únicos, por lo que esta opción estaba fuera.
- Use un selector jQuery en el cuadro de diálogo abrir para capturar el botón que yo quería, y añádale una clase CSS.
Fui con la segunda opción, y se utiliza el jQuery método find() ya que creo que es más apropiado que el uso de: primer o: first-child no b/c el botón que quería cambiar era necesariamente el primer botón enumerado en el marcado. Usando find, puedo simplemente especificar el nombre del botón y agregar CSS de esa manera. El código que terminó con está por debajo de:
$dialogDiv.dialog({
autoOpen: false,
modal: true,
width: 600,
resizable: false,
buttons: {
Cancel: function() {
// Cancel code here
},
'Save': function() {
// Save code here
}
},
open: function() {
$('.ui-dialog-buttonpane').find('button:contains("Cancel")').addClass('cancelButtonClass');
}
close: function() {
// Close code here (incidentally, same as Cancel code)
}
});
Parece que con las nuevas versiones de jQuery UI (o jQuery, no puedo decirlo), puede haber cambiado la clave para las clases adicionales de 'className' a' "class" '. –
En la versión> jqueryui 1.8. existe clase no className. – kajo
@RaphaelSchweikert - Esto generará un error de script en IE7/8/9; consulte la solución aquí: http://www.stackoverflow.com/questions/1138291/jquery-dialog-save-cancel-button-styling/10415919# 10415919 – maxp