• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage 2 JavaScripte nacheinander laden

duti

Mitglied
Hi Leute,

Ich habe mit Hilfe von "LeCub" eine Listbox erstellt mit der ich meine Mysql Ausgaben Filter kann.
Funktioniert alles super! Bevor ich diese Listbox hatte, habe ich mir einfach alle Daten in entsprechenden Div's geladen und jetzt erst nach der Filter Auswahl. Ich hatte auch einen funktionierenden SlideToggle, dass jetzt aber nicht mehr funktioniert.
Ich habe das Gefühl, dass sich diese 2 Scripte nicht gerne haben :).
Ich habe mich über no.conflict informiert. Nur verstehe ich nicht ganz wie das eingebaut wird.

Jetzt werden erst nach dem auswählen der Listbox die Daten ausgegeben.
Vieleicht ist das ja so, dass erst nach dem laden der Listbox die SlideToggle funktioniert, weil die Mysql Daten noch nicht ready sind?

meine 2 Scripte

Listbox
Code:
$(document).ready(function(e){
      jQuery("select").change(function(e)
    {
        jQuery("#here").show();
        var x = jQuery(this).val();
       jQuery.ajax(
        {
            type:'GET',
            url:'name.php',
            data:'q=' + x,
            success:function(data)
            {
               jQuery("#here").html(data);        
            }
            ,
        });
});
});
SlideToggle
Code:
$(document).ready(function() {
    $('.kunde p a').click(function() {
        $(this) 
            .parent() 
                .next() <p> (.product_inner) 
                    .stop() 
                    .slideToggle(300); // Slide toggle
    }); 

});

Kann ich die 2 Script's nicht zusammen koppeln?

vielen dank für eure Hilfe
duti
 
Werbung:
Du verwendest im ersten Skript anscheinend die nicht komprimierte Form von jQuery, was keinerlei Sinn ergibt. Stell das obere mal auf jquery.min.js um (alle jQuery.xx durch $.xx ersetzen). Desweiteren hast du im zweiten folgenden fatalen Fehler:
.next() <p> (.product_inner)
Meintest du eventuell
Code:
.next('p')
oder
Code:
.next('.product_inner')
Du solltest dringend Grundlagen lernen, da solche Fehler wie oben schon alleine durch ein grobes Verstehen der Logik von JS und/oder jQuery vermieden werden können.
 
Ich habe das ganze noch einmal angeschaut, jquery.min.js habe ich von Anfang an genommen.
Alle jQuery habe ich auf $ gewechselt.
next habe ich auf .next() geändert, weil das ja auf die p zugreifen soll die in product_inner ist.

Immer noch das selbe Problem.

Ich habe vorhin eine neue "TEST" .html gemacht mit dem gleichen Code außer, denn Listbox Script. Es funktioniert.

Aber auf meiner "Main" .html nicht.

Nach meinem Code sollte, wenn ich auf "Mehr" klicken würde slideToggle gestartet werden.
Hat aber keine Funktion.

Code:
                       <div class="kunde">
                             <p><a>Mehr</a></p>
                                  <div class="kunde_inner">
                                  <p>blablabla</p>
                                  </div>
                        </div>

Ich habe mir vorhin einen Buch bestellt (Einstieg in JavaScript inkl. jQuery)
 
Werbung:
Nachträglich ins DOM eingefügte Elemente benötigen Event Delegation.

$('body').on('click', '.kunde a', function() {...})
 
Zurück
Oben