Ich habe den folgenden Code, der richtig funktioniert, um eine Erfolgsspanne nach einem Eingabefeld einzufügen, wenn ein korrekter Wert eingegeben wird. Aber mein Problem ist, dass es jedes Mal, wenn ich das Feld verlasse, die Spanne hinzufügt. Aus Frage Jquery insertAfter only once if element exist Ich weiß, dass ich die ID der Spanne bei der Erstellung festlegen konnte und überprüfen Sie die Länge jedes Mal, wenn das Ereignis ausgelöst wird, um zu sehen, ob es bereits vorhanden ist. Aber ich bin mir nicht sicher, wie das geht, wenn ich eine Klasse zur Auswahl der Felder verwende.jQuery .insertAfter nur einmal mit einem Klassenselektor
Jede Hilfe mit Klassenselektoren wäre hilfreich.
$(".systemFieldName").blur(function(){
var val = $(this).val();
var exists = $.inArray(val,allFields);
if (val!="" && exists>=0){
$("<span class='label label-success'>Valid</span>").insertAfter(this).one();
}
});
check '$ (this) .val(). Length' in if-Bedingung – uzaif
Eine andere Möglichkeit besteht darin, zu speichern, ob die Erfolgsspanne dem Element mit der Klasse .systemFieldName bereits als Attribut hinzugefügt wurde oder nicht. Das ist: '$ (this) .attr ('correct', 1)' zum Setzen und 'if ($ (this) .attr (' correct ') == 1)' zum Überprüfen. – Tomasito665
Sie sollten ein Änderungsereignis anstelle einer Unschärfe binden. – DinoMyte