2016-09-02 3 views
1

Ich benutze das folgende Javascript, um ein Formular auszublenden, wenn der Benutzer auf ein Kontrollkästchen klickt.javascript auf Seite laden, um Formular zu verbergen

Ich versuche, den Code beim Laden der Seite auszuführen, bin aber nicht in der Lage, herauszufinden, wie dies zu tun ist. Kann jemand helfen?

$('#no_cage').change(function(){ 
    if (this.checked) { 
    $('#cage_details').fadeOut(); 
    } else { 
    $('#cage_details').fadeIn(); 
    }     
}); 

HTML:

<input name="no_cage" id="no_cage" type="checkbox" value="1" <?php echo $checked; ?>><label for="no_cage">Check if not required</label> 

<div id="cage_details"> 

<form> 

... 

</form> 

</div> 

Dies funktioniert gut, wenn ein Benutzer auf das Kontrollkästchen klickt. Aber nicht wenn es aus der DB zieht und die Checkbox beim Seitenladen bereits ausgewählt ist.

+4

tun Sie das Ereignis beim Laden der Seite ausgelöst werden soll oder Handler registrieren? – user489872

+0

Bitte geben Sie auch HTML-Inhalt für eine breitere Idee Ihres Problems. –

+0

Geben Sie ein vollständiges Beispiel mit Markup sowie das Skript für diese Aktion an. Es ist wichtig, dass Sie Ihren Skript-Ladevorgang sowie zusätzlichen Code, den Sie haben, bestimmen. – gdyrrahitis

Antwort

4

Fügen Sie diesen Code einfach in den Document Ready-Handler ein. Es wird die Änderung Event-Handler ausgelöst werden, ohne es zu müssen eigentlich ... Alternativ

$('#no_cage').trigger("change"); 

ändern, nur das Ereignis auslösen, wo Sie es erklären ...

$('#no_cage').change(function(){ 
    if (this.checked) { 
     $('#cage_details').fadeOut(); 
    } 
    else { 
     $('#cage_details').fadeIn(); 
    }     
}).trigger("change"); 

dass der Ereignishandler hinzufügen und dann führe es sofort aus, um das Formular in den korrekten Zustand zu versetzen, wenn das Dokument geladen wurde.

+0

Wie bekomme ich das Formular zurück, wenn jemand auf das Kontrollkästchen klickt? –

+0

Versuchen Sie '$ (" # cage_details ") hinzuzufügen. Find (" form ") [0] .reset();' – Archer

-2

Sie können entweder die geprüfte Eigenschaft ändern oder das Änderungsereignis auslösen.

$(function() { 
 

 
    $('#no_cage').change(function() { 
 
    if (this.checked) { 
 
     $('#cage_details').fadeOut(); 
 
    } else { 
 
     $('#cage_details').fadeIn(); 
 
    } 
 
    }); 
 

 
    // Change the checked property 
 
    $('#no_cage').prop('checked', true); 
 

 
    // OR trigger the change event 
 
    // $('#no_cage').trigger('change'); 
 

 
});

Verwandte Themen