jQuery.validate scheint die Hintergrundfarbe des ungültigen Elements nicht standardmäßig zu ändern. Ist es auch möglich, die Hintergrundfarbe eines select
Elements zu ändern? Die meisten meiner Elemente sind input type="text"
, aber ich brauche einen Indikator für die ausgewählten Formularelemente. Ich verwende nicht mit den standardmäßig generierten Nachrichten, da sie nicht zu meinem Layout passen.
Der folgende Code ändert die Hintergrundfarbe der input
-Elemente, kehrt jedoch nie zu seinem vorherigen Stil zurück:
Bearbeiten (Beispiel)
%Vor% Wo das Element input
die Fehlerklasse jqInvalid
im Fehlerfall erhält.
CSS
%Vor%
Die ungültigen Elemente erhalten standardmäßig eine Klasse von error
oder in Ihrem Fall jqInvalid
Nachdem Sie die Option errorClass
festgelegt haben, können Sie diese Klasse wie gewünscht im Stylesheet formatieren, zum Beispiel:
Sie können die Besonderheiten für die Fehlermeldungen überschreiben (das Standardelement ist <label>
), wenn Sie möchten:
Dieser CSS-Ansatz kümmert sich um das Entfernen ..., da die Klasse entfernt wird, sobald sie gültig ist. Es gibt auch eine success
-Klasse, wenn Sie einen grünen Hintergrund auf gültige Elemente usw. anwenden möchten.
Dies war ein Spezifitätsproblem. .error
und .jqInvalid
sind beide weniger spezifisch als .field .txt
Um die Spezifität zu erhöhen, muss also das CSS in .field input.error
geändert werden, was mehr Gewicht hat als .field .txt
, sodass die Reihenfolge nicht mehr wichtig ist.
Siehe hier für Informationen zur Spezifität
Tags und Links jquery css jquery-plugins jquery-validate