2016-05-16 6 views
0

Ich habe eine Klasse, die geklont wird, so dass mehrere Eingaben vorgenommen werden können. Darin befindet sich ein Problembereich mit ausgeblendetem Inhalt, den ich beim Klicken auf die Schaltfläche "Ja" anzeigen möchte. Momentan funktioniert diese Umschaltung nicht. Ich nehme an, es hat etwas damit zu tun, innerhalb der geklonten Klasse zu sein, aber ich weiß nicht genug, um zu verstehen, warum. Beispiel hier: https://jsfiddle.net/484u32qn/6/jquery toggle() Problem in geklonten Inhalt

$(document).ready(function() { 
    $(".issuesshow").click(function() { 
    $(".plantarea").toggle(); 
    }); 

    $(".ft1issues").click(function() { 
    $(".ft1area").toggle(); 
    }); 

    $(".ft2issues").click(function() { 
    $(".ft2area").toggle(); 
    }); 

    $('.button-add').click(function() { 
    //we select the box clone it and insert it after the box 
    $('.box.assembly').clone().show().removeClass("assembly").insertAfter(".box:last"); 
    }).trigger("click"); 

    $(document).on("click", ".button-remove", function() { 
    $(this).closest(".box").remove(); 
    }); 

}); 
+0

in JSFiddle Sie vermissen jQuery-Bibliothek kopieren, haben Sie hinzugefügt jQuery auf Ihrer Website? – Froxz

Antwort

0

Das ist, weil, wenn Sie die Event-Handler registrieren, wird die Zeile noch nicht hinzugefügt.

Ändern Sie die Reihenfolge und es wird funktionieren.

$(document).ready(function() { 
    $('.button-add').click(function() { 
    //we select the box clone it and insert it after the box 
    $('.box.assembly').clone().show().removeClass("assembly").insertAfter(".box:last"); 
    }).trigger("click"); 

    $(".issuesshow").click(function() { 
     $(".plantarea").toggle(); 
    }); 

    $(".ft1issues").click(function() { 
     $(".ft1area").toggle(); 
    }); 

    $(".ft2issues").click(function() { 
     $(".ft2area").toggle(); 
    }); 

    $(document).on("click", ".button-remove", function() { 
     $(this).closest(".box").remove(); 
    }); 

}); 

Hinweis: clone als solche nicht Event-Handler

+0

Danke einfach reparieren! – Greek

+0

Was kann ich verwenden, um die Event-Handler zu kopieren? – Greek

+0

@Greek Normalerweise registriere ich Event-Handler nach dem Klonen. Aber probiere 'clone (true)' - es kopiert auch Event-Handler. Weitere Informationen finden Sie in der Clone-Dokumentation. – Chintan

0

verwenden Sie die folgende Syntax, um dynamisch zu ändern

$(document).on('click', '.issuesshow', function(){ 
      $(this).closest('.prodchild').find('.plantarea').toggle(); 
    }); 

https://jsfiddle.net/484u32qn/13/