Ich mache eine einfache, grundlegende Validierung von Wörtern, aber irgendwie funktioniert es nicht. Dies ist, was ich habe:Überprüfen Sie, ob der Eingabewert einer unbekannten Anzahl von Wörtern entspricht, die aus dem Datenattribut
HTML:
<div class="customfixer">
<li data-folder="something">something</li>
<li data-folder="random name">random name</li>
<li data-folder="my news">my news</li>
<!-- etc.. 100+ more of unique folder names -->
</div>
<input type="submit" class="submitasvalid" name="submit" value="Create folder" />
jQuery:
$('input.newfoldername').on('input', function() {
var lopinys = $('input.newfoldername').val();
$('.customfixer').each(function() {
var validacija = $(this).find('li').data('folder');
if(lopinys == validacija) {
// alert if folder name exists in the list
}
else{
// alert if folder name does not exists in the list
}
});
});
Ich weiß, dass etwas schlecht ist, weil manchmal funktioniert es, aber manchmal ist es nicht.
Frage:
Wie kann man überprüfen, ob Eingabewert auf unbekannte Anzahl von Wörtern Liste gleich, die aus Datenattribut kommt? Und wenn gleich - etwas tun.
Danke für alle Antworten und Entschuldigung für schlechtes Englisch.
Hmm. Seltsam, Ihr Beispiel funktioniert wie erwartet, aber in meinem Code wird es so oft wie Ordner Namen existiert.Zum Beispiel 40. Grundsätzlich überprüft es, ob die erste Prüfung gültig ist oder nicht, nicht alles. Aber Ihr Beispiel funktioniert wie erwartet :) – Tauras
Ja, es greift nur das letzte Datenattribut in der Liste:/ – Tauras
Das klingt seltsam. Könnten Sie Ihr jsFiddle aktualisieren, so dass es das gleiche Verhalten hat? –