如何在Jquery中选中checkbox时收听
我需要知道当页面上的任何checkbox被选中时:
例如
<input type="checkbox">
我在JQuery中试过
$('input type=["checkbox"]').change(function(){ alert('changed'); });
但它没有工作,有什么想法?
使用change()
事件和is()
testing:
$('input:checkbox').change( function(){ if ($(this).is(':checked')) { alert('checked'); } });
我已经更新了以上内容,因为我愚蠢地依赖于jQuery(在if
)何时DOM属性同样适用,而且使用起来也更便宜。 此外,select器已经被更改,以便允许它在支持它的浏览器中传递给DOM的document.querySelectorAll()
方法:
$('input[type=checkbox]').change( function(){ if (this.checked) { alert('checked'); } });
为了完成,在普通的JavaScript中同样的事情也很容易实现:
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); });
参考文献:
- JavaScript的:
-
Array.from()
。 -
Array.prototype.forEach()
。 -
document.querySelectorAll()
。 -
EventTarget.addEventListener()
。
-
- jQuery的:
-
:checked
。 -
change()
。 -
is()
。
-
$('input:checkbox').live('change', function(){ if($(this).is(':checked')){ alert('checked'); } else { alert('un-checked'); } });
jsfiddle: http : //jsfiddle.net/7Zg3x/1/
$('input:checkbox').change(function(){ if($(this).is(':checked')){ alert('Checked'); } });
这里是一个演示
尝试这个
$('input:checkbox').change(function(){ if(this.checked) alert('checked'); else alert('not checked'); });
$("input:checkbox").change(function(){ alert($(this).val()); });
这里是小提琴http://jsfiddle.net/SXph5/
jquery change
$("input[type='checkbox']").click(function(){ alert("checked"); });
只是一个正常的.click
会做。