我需要知道页面上的任何复选框何时被选中:
例如
<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:
- jQuery:
关于jquery - 如何在 Jquery 中选中复选框时监听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878757/