怎么用jquery来监听checkbox的选中事件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用jquery来监听checkbox的选中事件?相关的知识,希望对你有一定的参考价值。
一组checkbox, 现在想改变其中任意一项的选中状态都弹出一个对话框, $("#kind input").each(function(index) $(this).click(function() kind = $('input[@name=radiokind][@checked]').val(); ); ); $("#cz input").each(function(index) $(this).click(function() alert('123'); ); ); 第一个是一组单选按钮可以实现.第二个是checkbox无效果.
参考技术A $("#cz :checkbox").click(function()alert($(this).val());
); 参考技术B <div class='test'>
<input type="checkbox" name="data[]" checked="true" value="1">
<input type="checkbox" name="data[]" value="2">
<input type="checkbox" name="data[]" value="3">
<input type="checkbox" name="data[]" value="4">
</div>
<script>
jQuery(document).ready(function($)
$('.test > input[type="checkbox"]').on('change', function(event)
console.log($(this).prop("checked"))
);
);
</script> 参考技术C $("#cz input") 既然用到了#就表示id选择器,肯定最多能取出一个元素,所以不用each,直接赋.click事件
$("#cz input").click(function()
alert('123');
);
jquery 点击tr选中checkbox,解决checkbox的默认点击事件被阻止的问题
1.第一种,!$(event.target).is(‘input‘),判断触发事件的元素是否为input。此时使用event.target,而不是this,获取事件本身,防止触发事件冒泡的问题。
$("#data_table tr").on("click",function (event) { if (!$(event.target).is(‘input‘)) { $(‘input:checkbox‘, this).prop(‘checked‘, function (i, value) { return !value; }); } })
注释:event.target属性的作用是获取到出发事件的元素。网上说使用event.target,在ie下可能会出现版本不兼容问题,我在ie11下进行测试,发现是可以的。所以应该是, jQuery对其封装后,避免了W3C、IE和safari浏览器不同标准的差异。若出现不兼容问题,可尝试使用如下方式。
var thisEvent = window.event || event; var targetEvent = thisEvent.srcElement; if (!targetEvent) { targetEvent = thisEvent.target; }
2.第二种,跳过checkbox所在列。本次示例是位于第一列,因此给除第一个td之外的td绑定点击选中事件。
//直接使用not("td:first-child"),或者设置第一列td类为.tdcolFirst,即.not(".tdcolFirst")。效果是一致的
$(".tr_check td").not("td:first-child").bind("click", function () { $(this).parent().find("input:checkbox").prop(‘checked‘, function (i, value) { return !value; }); })
3.event下的部分常用属性或方法:
方法/属性
|
类型
|
作用
|
event.preventDefault()
|
方法
|
阻止默认的事件行为。
|
event.stopPropagation()
|
方法
|
阻止事件的冒泡。
|
event.type
|
属性 |
返回当前触发事件的事件类型。
|
event.target
|
属性
|
获取执行事件【出发事件】的元素。 |
event.relatedTarget
|
属性
|
返回当触发时,该事件所涉及到的其他dom元素。
|
event.pageX/event.pageY
|
属性
|
获取光标相对页面的x坐标和y坐标。 |
event.which
|
属性
|
鼠标单击事件中,获取鼠标的左、中、右键,在键盘事件中获取键盘所在按钮。1 鼠标左键 2 鼠标中键 3 鼠标右键
|
event.originalEvent
|
属性
|
指向原始的事件对象。
|
以上是关于怎么用jquery来监听checkbox的选中事件?的主要内容,如果未能解决你的问题,请参考以下文章
WPF checkbox 怎么判断鼠标是在 checkbox的勾选框范围内,还是在checkbox勾选框右边的文字范围内?