当多复选框的其中一个被选中时,立即触发一个效果,用js或者jquery应该如何实现
如以下一个简单的表格<table><tr><td><inputtype="checkbox"></td><td>文字</td></tr><tr><td><inputtyp...
如以下一个简单的表格
<table>
<tr>
<td><input type="checkbox"></td>
<td>文字</td>
</tr>
<tr>
<td><input type="checkbox"/></td>
<td>文字</td>
</tr>
......
</table>
当这些选中框至少有一个被选中时,立即触发一个效果(比如出现批量修改,批量导出的按钮这种),注意是被选中之后立即,不是选中时候再按某个button提交这种.
楼主现在只想到给每个checkbox绑一个click事件,每当点击的时候判断是否有被选中的checkbox,不过个人觉得这个应该是非常非常入门的想法,有多少复选框就要绑多少事件,效率应该非常不乐观...不知道有哪位大大有更好的办法...以前有学过js里事件冒泡的机制,不知在这里是否有用...求各位大大指导 展开
<table>
<tr>
<td><input type="checkbox"></td>
<td>文字</td>
</tr>
<tr>
<td><input type="checkbox"/></td>
<td>文字</td>
</tr>
......
</table>
当这些选中框至少有一个被选中时,立即触发一个效果(比如出现批量修改,批量导出的按钮这种),注意是被选中之后立即,不是选中时候再按某个button提交这种.
楼主现在只想到给每个checkbox绑一个click事件,每当点击的时候判断是否有被选中的checkbox,不过个人觉得这个应该是非常非常入门的想法,有多少复选框就要绑多少事件,效率应该非常不乐观...不知道有哪位大大有更好的办法...以前有学过js里事件冒泡的机制,不知在这里是否有用...求各位大大指导 展开
2个回答
展开全部
jq代码。
$("input[type='checkbox']").click(function(){
if( $("input[type='checkbox']:checked").length>0){
//当复选框选中值大于0,触发一个效果
}else{
//否则,效果消失。
}
})
如果不是你要的效果,追问
$("input[type='checkbox']").click(function(){
if( $("input[type='checkbox']:checked").length>0){
//当复选框选中值大于0,触发一个效果
}else{
//否则,效果消失。
}
})
如果不是你要的效果,追问
追问
其实2位的回答跟我完成的代码基本一样,可能是我表述的不清,因为曾经的JS老师曾经说过,如果要给太多的元素都标上同一个事件是非常不效率的,那时是用3个大中小包容的div讲的事件冒泡,点击里面层的也能触发外层div的click事件,就是只需要定义一个最外层div的click事件就可以了....所以我想是不是这个问题上也有能改进的地方,关注点就是不是给每个checkbox都上click事件
展开全部
like this?
$(function(){
$('input:checkbox').on('change', function(){
if($('input:checkbox:checked').val()) {
alert('有选中的,要效果');
}
})
});
$(function(){
$('input:checkbox').on('change', function(){
if($('input:checkbox:checked').val()) {
alert('有选中的,要效果');
}
})
});
追问
同2L~
追答
那你就on在表单上被
$(function(){
$('input').on('change', function(){
if($('input:checkbox:checked').val()) {
alert('有选中的,要效果');
}
})
});
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询