jQuery validiert die Änderungsfarbe des Elementhintergrunds

8

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:

%Vor%

Bearbeiten (Beispiel)

%Vor%

Wo das Element input die Fehlerklasse jqInvalid im Fehlerfall erhält.

CSS

%Vor%

    
David Fox 24.09.2010, 21:10
quelle

2 Antworten

6

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:

%Vor%

Sie können die Besonderheiten für die Fehlermeldungen überschreiben (das Standardelement ist <label> ), wenn Sie möchten:

%Vor%

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.

    
Nick Craver 24.09.2010, 21:36
quelle
2

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

    
David Fox 27.09.2010 19:07
quelle