2016-10-06 2 views
0

Ich arbeite an einem Projekt, wo ich ein Kontrollkästchen habe und ich möchte eine Funktion ausführen, wenn das Kontrollkästchen ändert das Formular auf unmarkiert oder umgekehrt. Hier('checkbox'). Change() läuft auf Seite laden

ist die Checkbox:

<input class="form-control main_checkbox_class" 
     type="checkbox" 
     value="1" 
     checked="checked" 
     id="main_checkbox_id" > 

Und dann in meinem Javascript Ich habe:

jQuery(function($) { 
    $('.main_checkbox_class').change(console.log('hello')); 
}); 

Allerdings, wenn ich dies ausführen, auf Seite load 'Hallo' auf die Konsole ausgegeben wird und dann Wenn ich das Kontrollkästchen ankreuze oder deaktiviere, passiert nichts. Ich bin mir nicht sicher, warum dies geschieht und jede Hilfe, die dies behebt, wäre sehr willkommen.

+0

Was möchten Sie passieren, wenn Sie das Kontrollkästchen deaktivieren? –

Antwort

2

Sie müssen den Ereignishandler als Funktionsreferenz angeben. Momentan wird der Code beim Laden ausgeführt, da Sie dem Ereignishandler das Ergebnis von console.log zuweisen. Versuchen Sie dies:

$('.main_checkbox_class').change(function() { 
    console.log('hello'); 
}); 
+0

Danke das ist die Antwort, ich bin ziemlich neu in Javascript und ich stolpere immer wieder davon. Ich werde nach 10 Minuten akzeptieren. – user2320239

2
$(function() { 
    $('.main_checkbox_class').change(function() { 
    console.log($(this).is(':checked')); 
    }); 
}); 
Verwandte Themen