Ich bin neu in jQuery und JSON (wenn Sie auf meinen Code unten schauen, werden Sie schnell sehen, wie neu ich bin).jQuery Suche JSON für einen bestimmten Wert
Ich habe eine JSON-Datei und möchte Benutzern erlauben, einen Suchbegriff einzugeben (was ein Schlüssel in der JSON-Datei ist)) und den entsprechenden JSON-Wert auf der Webseite anzeigen zu lassen.
Ich habe dieses Forum und das Internet gesucht und anhand von Beispielen, die ich gefunden habe, habe ich ein Skript und etwas HTML gehackt, aber, Überraschung !, es funktioniert nicht. Ich habe eine grobe Vorstellung davon, was das Skript macht, aber ich finde es sehr schwierig herauszufinden, was falsch ist.
Ich hoffe, jemand kann helfen.
HTML:
<input type="search" name="search" id="search">
jQuery:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$('#search').keyup(function() {
var searchField = $('#search').val();
var myExp = new RegExp(searchField, "i");
$.get('products.json', function(data) {
var output = '<ul class="searchresults">';
$(data).find(searchField).each(function(index, value){
var val = value.firstChild.nodeValue;
if ((val.search(myExp) != -1)) {
output += '<li>' + val + '</li>';
}
});
output += '</ul>';
$('#result').html(output);
});
});
</script>
JSON (products.json) (. Die JSON-Datei als diese länger ich habe es vereinfacht):
{"colors":[
{"A":"red"},
{"B":"green"},
{"C":"blue"}
]}
Also, wenn ein Benutzer "B" in das HTML-Suchfeld eingibt, möchte ich "grün" auf der Webseite angezeigt werden.
Sie wollen also nur das Feld 'colors' in products.json durchsuchen? Wenn ja, kann ich dir eine einfache Antwort geben – iownthegame
check this [demo] (https://jsfiddle.net/g1gf285h/) – guradio
@guradio. Vielen Dank! Habe deine Demo überprüft und dadurch meinen Code funktioniert. Sehr geschätzt! Ich bin mir nicht sicher, ob ich für deine Antwort stimmen kann, denn es ist ein Kommentar, aber danke nochmal. – Ben