Frage zu on();

k3nguruh

Erfahrenes Mitglied
Hallo,

Ich muss mal kurz fragen.....

Code:
<script type="text/javascript">
$(document).ready(function() {
    $('#abteilung').on('change', function(){
        alert($(this).val());
    });
//    $('#abteilung').trigger("change");
});
</script>

Sollte nicht der obere Code nach dem Laden der Seite und beim ändern von id="abteilung" ausgeführt werden? Bei mir wird er nur nach dem Ändern ausgeführt, ausser ich verwende den trigger....
 
Das ist schon richtig das es nur beim ändern ausgeführt ist, du hast doch als Event "change" angegeben.
 
Hallo,

und was müsste da noch rein, dass das Script nach dem laden der Seite den query ausführt? Oder ist das mit dem trigger dahinter richtig? Bin noch ziemlich neu in der "Szene"....
 
Code:
<script type="text/javascript">
$(document).ready(function() {
    // alles, was hier steht, wird nach dem Laden des Dokuments ausgeführt
});
</script>

Du hast eigentlich nur einen Change-Listener registriert, der darauf wartet, dass "#abteilung" geändert wird und rufst diesen Listener dann über die trigger() Methode auf. Wenn nun Code direkt nach dem Laden ausgeführt werden soll, darfst du ihn nicht in einen Listener packen ;)
 
Hallo,

muss ich dann den Code 2x eintragen, der ausgeführt werden soll? Weil es soll ja nach dem LAden der Seite geprüft werden was gerade ausgewählt ist und dann weiteren Felder deaktivieren, oder aktiviere, ..... (da wo jetzt alert() steht) und einmal wenn die #abteilung geändert wird.
 
Ich kenne eine wundervolle Möglichkeit doppelten Code zusammenzufügen, nennt sich Funktionen :)

Du erstellst einfach eine Funktion, die dann sowohl als Listener gesetzt wird als auch einmal aufgerufen wird, sieht dann ungefähr so aus:

Code:
<script type="text/javascript">
function schlauername()
{
  // Dein Code
}
$(document).ready(function() {
    $('#abteilung').on('change', schlauername());
    schlauername();
});
</script>
 

Neue Beiträge

Zurück