Beiträge von finder86

    Die Abfrage mittels Javascript

    Und nein, das ist noch nicht online. Genau, ich möchte die Partner nur ein und ausblenden. Mein aktueller Code steht oben. Aber dieses funktioniert nicht


    Hier mal ein https://jsfiddle.net/feuy063m/




    Die JSon sieht wie folgt aus (Auszug)


    "recommendation": {},

    "id": "2",

    "laden": "ja",

    "name": "DEF",

    "coordinates": {

    "latitude": 49.01895905,

    "longitude": 10.96065044


    },

    "regulations": [],

    "address": {

    "city": "Wei\u00dfenburg Bayern",

    "countryCode": "DE",

    "postalCode": "12345"

    },


    "brandName": "CDE",

    "openStatusText": "09.00 Uhr bis 12.00 Uhr, 13.00 Uhr bis 17.00 Uhr",


    "state": "PLATIN PARTNER",

    "productLines": ["Heimanwender", "SOHO", "Small Business" , "Medium Business", "Enterprise", "Öffentliche Hand", "Gesundheitswesen"],

    "addressLines": ["T. 1", "12345 Wei\u00dfenburg Bayern"],



    Nein, online ist noch nichts.

    Danke, ja ich bin wirklich etwas aufgeschmissen, und du hast recht, so funktioniert es nicht.


    Also folgendes. Ich habe ca 200 Partner. Diese werden alle via Json geladen.

    Im FE habe ich eine Search für die Partner, das funktioniert. Ich möchte aber dazu noch Checkboxen haben, die abfragt, für welche Produkte er zur Verfügung steht.

    Dies sollte dann toggeln und die Partner auf einer Google Maps anzeigen. Ich schick dir mal ein Screenshot attached.



    Der aktuelle Code sieht zumindest schon einmal wie folgt aus


    <input id="hero" type="checkbox" onclick="searchStores()" name="test" value="test"> test


    const inputs = document.querySelectorAll('#hero');


    inputs.forEach(input => {

    input.addEventListener("click", function (e) {

    if (this.checked) {

    searchStores(this.value)

    }

    });

    })




    function searchStores(product) {

    var foundStores = [];

    var zipCode = document.getElementById('zip-code-input').value;


    if (product) {

    stores.forEach(function (store) {

    if (store.productLines.includes(product)) {

    foundStores.push(store);

    }

    })

    }

    Hallo zusammen,

    Ich habe eine Art Partnerfinder mittels eines Templates gebaut. Durch eine Checkboxabfrage soll es möglich sein, herauszufinden, welche Produkte der jeweilige Partner anbietet.


    Die JSon sieht wie folgt (gekürzt aus:


    let stores = [{

    "productLines": ["Small Business" , "Heimanwender", "Medium Business", "Enterprise", "Öffentliche Hand", "Gesundheitswesen", "test"],


    In der Index mache ich folgende Abfrage:


    <div class="search" id="hero">

    <input type="checkbox" onclick="#hero" name="hero" value="Heimanwender" >Heimanwender

    <input type="checkbox" onclick="searchStores()" name="hero" value="SOHO" >Soho

    ...



    und hier der code.


    const inputs = document.querySelectorAll('hero');


    inputs.forEach(input => {

    input.addEventListener("change", function (e) {

    searchStores(this.value)

    if (this.checked) {

    }

    });

    })




    function searchStores(product) {

    var foundStores = [];


    if (product) {

    stores.forEach(function (store, index) {


    if (store.productLines.includes(product)) {

    foundStores.push(store);


    }

    }

    )

    }




    Aber ich bekomme es nicht zum laufen, und habe auch keine Idee, was ich verändern müsste. Wenn mir hier jemand helfen könnte- Dies wäre famos!

    Danke dir! Das habe ich ausprobiert. Aber


    var postal = store.address.postalCode.indexOf(0);


    funktioniert nicht. Denke ich hier richtig, oder muss es in die If funktion?

    Wobei ich auch zipCode.indexOf(postal) schon ausprobiert habe, und auch das funktioniert nicht..


    Vielleicht kannst du mir da noch einmal weiterhelfen?

    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!