我需要知道当页面上的任何复选框被选中:
例如
<input type="checkBox">
我试过这个在Jquery
$('input type=["checkBox"]').change(function(){ alert('changed'); });
但它没有工作,任何想法?
解决方法
使用change()事件和is()测试:
$('input:checkBox').change( function(){ if ($(this).is(':checked')) { alert('checked'); } });
我更新了上面的,以下,因为我的愚蠢的依赖jQuery(在if)当DOM属性将是同样适当的,也更便宜使用。此外,选择器已经更改,以便允许它在支持它的浏览器中传递到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: