toggle Event wird nur ab und zu auf div angewendet

  • Hallo,


    ich schreibe gerade eine Funktion, die einem Löschvorgang in einem Telefonbuch ähnelt.
    Klicke ich also auf das entsprechende Icon (hier nav--link--profileoverview.delete), öffnen sich quadratische divs (hier: item--checkbox), in denen man dann selektieren kann, welche Einträge gelöscht werden sollen.


    Das klappt aber irgendwie immer nur für bestimmte divs und nach einem reload der Seite funktioniert es dann wieder für andere divs....


    Wenn ich die anklicke, wo es nicht funktioniert, wird die css-Angabe display:none durch display: none überschrieben (es steht dann im browser:

    CSS
    element.style {
        display: none;
    }


    Woran liegt dasr?^^


  • Probier mal und schau mal was die Konsole sagt && du hast vergessen 'event' als parameter mit zu geben bei dem 2. click-handler

  • Ich habe in meinen Adressbucheinträgen jeweils den Namen der Person mit übergeben, da ich nicht wusste, wie ich den Haken für den Löschvorgang in jedem div einzeln setzen kann.


    Meine divs werden in Javascript erzeugt:


    deshalb heißt die klasse für das div und den haken gleich.


    Wenn ich also nur den Haken für bspw. den Eintrag "Sarah" setzen will, setzt er mir gleich alle, da ja alle gleich heißen. Ich wollte das mit event.target umgehen und nur den einen Eintrag anwählen können.


    Die Ausgabe ergibt 4x das Gleiche (ich habe im Moment 4 Einträge) und das zweite console.log ergibt auch das Gleiche, nur dass beim zweiten mal Klicken das console.log zweimal aufgerufen wird... Ist etwas kompliziert ausgedrückt 8|

  • Dann wird der event handler doppelt gebindet.. ist ja klar wenn du die Funktion mehrfach aufrufst
    Kannst du mal mit screenshots zeigen was du eig. machen willst oder mal einen Link posten? Ich denke du machst das etwas zu kompliziert

  • Okay nutzt du eine echte checkbox als häckchen?
    &in dem Kasten sind irgendwelche einstellungen?


    Woher weiß das JS welcher kasten geöffnet werden muss bzw um welche zeile es sich handelt.


    Bzw was für eine Aktion willst du eigentlich machen?
    Auswählen welche Zeilen gelöscht werden oder was?

  • also der kasten ist ein div und nein, das ist ja das problem. Ich möchte ja nicht alle auf einmal löschen sondern nur bestimmte.
    das heißt, nach dem du auf den mülleimer geklickt hast, öffnen sich die kästen und dann soll man die möglichkeit bekommen, bestimmte einträge zu löschen.


    im moment wählt er alle an, da die haken gleich heißen... ich möchte wissen, wie ich bestimmen kann, welcher kasten und welcher nicht angewählt wird.
    also nur einer und nicht alle....

  • Ja, so meine ich es ja^^
    Aber ich will ja nicht alle Einträge löschen, sondern zum Beispiel nur 5 oder mal nur 1 oder so.


    Also
    1. Klcik auf Mülleimer
    2. Öffne Div um die zu wählen, die ich löschen möchte
    3. wenn alle gewollten eintäge angewählt sind klicke auf mülleimer
    4. neues div mit der frage X Einträge löschen? öffnet sich
    5. entweder abbruch wählen oder löschvorgang bestätigen

  • Ja, benutze ein beliebiges element was du nach der checkbox einfügst, z.B. ein span o.ä. (auch :before und :after des elements) und den CSS selektor .ListCheckbox:checked + span um den checked status anzusprechen ^^

  • Ja, das schaue ich mir morgen mal an.
    Muss jetzt erstmal noch die funktion schreiben, wenn ich auf einen eintrag klicke, dass sich das profil mit den daten öffnet...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!