Daher habe ich derzeit einen jQuery-Dialog mit zwei Schaltflächen: Speichern und Schließen. Ich erstelle den Dialog mit dem folgenden Code:
$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)
}
});
Beide Schaltflächen haben jedoch dieselbe Farbe, wenn dieser Code verwendet wird. Ich möchte, dass meine Schaltfläche Abbrechen eine andere Farbe hat als meine Schaltfläche Speichern. Gibt es eine Möglichkeit, dies mithilfe einiger integrierter jQuery-Optionen zu tun? Die Dokumentation hat mir nicht viel geholfen.
Beachten Sie, dass die Schaltfläche Abbrechen, die ich erstelle, ein vordefinierter Typ ist, aber 'Speichern' definiere ich selbst. Ich bin mir nicht sicher, ob dies einen Einfluss auf das Problem haben wird.
Jede Hilfe wäre dankbar. Vielen Dank.
UPDATE: Einigkeit bestand darin, dass hier zwei Straßen zu befahren waren:
- Überprüfen Sie den HTML-Code mit einem Firefox-Plugin wie Firebug , notieren Sie sich die CSS-Klassen, die jQuery auf die Schaltflächen anwendet, und versuchen Sie, sie zu überschreiben. Hinweis: In meinem HTML-Code wurden für beide Schaltflächen genau dieselben CSS-Klassen und keine eindeutigen IDs verwendet. Daher war diese Option deaktiviert.
- Verwenden Sie beim Öffnen des Dialogfelds einen jQuery-Selektor, um die gewünschte Schaltfläche abzufangen, und fügen Sie dann eine CSS-Klasse hinzu.
Ich habe mich für die zweite Option entschieden und die Methode jQuery find () verwendet, da dies meiner Meinung nach angemessener ist als die Verwendung von: first oder: first-child b / c Die Schaltfläche, die ich ändern wollte, war nicht unbedingt die erste in das Markup. Mit find kann ich einfach den Namen der Schaltfläche angeben und auf diese Weise CSS hinzufügen. Der Code, mit dem ich gelandet bin, ist unten:
$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)
}
});
className
auf ändern"class"
.