Ich muss wissen, wann ein Kontrollkästchen auf der Seite aktiviert ist:
z.B
<input type="checkbox">
Ich habe es in Jquery versucht
$('input type=["checkbox"]').change(function(){
alert('changed');
});
Aber es hat nicht funktioniert, irgendwelche Ideen?
$('input type=["checkbox"]')
kein gültiger Selektor ist. Es sollte$('input[type=checkbox]')
stattdessen sein. Noch besser wäre es aber$('input:checkbox')
. ;)Antworten:
Verwenden Sie das
change()
Ereignis und denis()
Test:$('input:checkbox').change( function(){ if ($(this).is(':checked')) { alert('checked'); } });
Ich habe das Obige auf Folgendes aktualisiert, weil ich mich dumm auf jQuery (in the
if
) verlassen habe, wenn die DOM-Eigenschaften gleichermaßen angemessen und auch billiger zu verwenden wären. Außerdem wurde der Selektor geändert, damit er in den Browsern, die ihn unterstützen, an die DOM-document.querySelectorAll()
Methode übergeben werden kann:$('input[type=checkbox]').change( function(){ if (this.checked) { alert('checked'); } });
Der Vollständigkeit halber ist dasselbe auch in einfachem JavaScript leicht möglich:
var checkboxes = document.querySelectorAll('input[type=checkbox]'), checkboxArray = Array.from( checkboxes ); function confirmCheck() { if (this.checked) { alert('checked'); } } checkboxArray.forEach(function(checkbox) { checkbox.addEventListener('change', confirmCheck); });
Verweise:
Array.from()
.Array.prototype.forEach()
.document.querySelectorAll()
.EventTarget.addEventListener()
.:checked
.change()
.is()
.quelle
<label>
Element hatte (es sei denn, ich löse das Änderungsereignis aus irgendeinem Grund programmatisch aus).$('input:checkbox').live('change', function(){ if($(this).is(':checked')){ alert('checked'); } else { alert('un-checked'); } });
jsfiddle: http://jsfiddle.net/7Zg3x/1/
quelle
.live
? Warum nicht.click
?live
ist viel langsamer als die normale Bindung, da das Ereignis sprudeln sollte. Es ist viel sinnvoller, daschange
direkt an das Element gebundene Ereignis zu verwenden, wenn es sich um ein statisches Ereignis handelt..live()
1.9 vollständig entfernt.$('input:checkbox').change(function(){ if($(this).is(':checked')){ alert('Checked'); } });
Hier ist eine Demo
quelle
Versuche dies
$('input:checkbox').change(function(){ if(this.checked) alert('checked'); else alert('not checked'); });
quelle
Wenn Sie .on verwenden möchten, funktioniert dies
jQuery('input[type=checkbox]').on('change', function() { if (this.checked) { console.log('checked'); } });
quelle
$("input:checkbox").change(function(){ alert($(this).val()); });
Hier ist die Geige http://jsfiddle.net/SXph5/
jquery change
quelle
$("input[type='checkbox']").click(function(){ alert("checked"); });
Nur ein normaler reicht aus
.click
.quelle