Hallo zusammen,
ich habe ein Problem, bei dem ich etwas auf dem Schlauch stehe, und hoffe, ihr könnt mir weiterhelfen.
Ich habe eine Art Partnerfinder mittels eines Templates gebaut. Im Frontend gibt es ein Suchfeld, wo der User nach Postleitzahl suchen kann und am Ende sollen die Ergebnisse angezeigt werden, die genau passend sind. Aktuell habe ich diesen an dem Punkt gebracht, dass die vollständige Eingabe der Postleitzahl auch das richtige Ergebnis anzeigt. Allerdings ist das nicht das gewünschte Ergebnis, sonder die Search soll im Endeffekt bei jedem einzelnen Wert abfragen (beispiel: zeige alle aus dem Bereich 9, oder zeige alle aus dem Bereich 91..)
Der Code sieht folgendermaßen aus:
document.getElementById('zip-code-input').addEventListener('keypress', function(e){
if(e.which == 13){
searchStores();
}
});
function searchStores() {
var foundStores = [];
var zipCode = document.getElementById('zip-code-input').value;
if (zipCode) {
stores.forEach(function (store, index) {
var postal = store.address.postalCode(substring(0,5);
if (postal == zipCode ) {
foundStores.push(store);
}
}
)
}
else {
foundStores = stores;
}
clearLocations();
displayStores(foundStores);
showStoreMarkers(foundStores);
setOnClickListener();
}
Wie ihr seht, müssen aktuell postal und ZipCode 100% identisch sein, um das Ergebnis angezeigt zu bekommen. Ich glaube, die Lösung liegt darin, zu sagen "Wenn ZipCode in postal enthalten ist oder gleich Postal ist, dann.."
Meine Javascriptkentnisse reichen allerdings dafür offensichtlich einfach nicht aus.
Wenn ihr weiterhelfen könntet, wäre das famos!