Javascript 使用Jquery选中和取消选中复选框
我正在尝试选中一个复选框,如果未选中,则取消选中。如果未选中,它将进行检查-如果选中“是”,则不会取消选中。很奇怪。提前谢谢 这是我的密码: 编辑:以下是JSFIDLE: JS: HTML:Javascript 使用Jquery选中和取消选中复选框,javascript,jquery,Javascript,Jquery,我正在尝试选中一个复选框,如果未选中,则取消选中。如果未选中,它将进行检查-如果选中“是”,则不会取消选中。很奇怪。提前谢谢 这是我的密码: 编辑:以下是JSFIDLE: JS: HTML: 复选框 使用: 使用: 我认为触发点击事件会改变复选框的选中状态 $(':checkbox').hover(function() { $(this).trigger('click'); }); 我认为触发点击事件会改变复选框的选中状态 $(':checkbox').hover(function()
复选框
使用:
使用:
我认为触发点击事件会改变复选框的选中状态
$(':checkbox').hover(function() {
$(this).trigger('click');
});
我认为触发点击事件会改变复选框的选中状态
$(':checkbox').hover(function() {
$(this).trigger('click');
});
.is()
和.not()
不一样
.is()
返回true或false,而返回.not()
如果jQuery元素匹配,则删除它
因此,$(选择器).not()
将始终为true,因为定义了jquery
要检查元素是否存在,请使用.length
$(':checkbox').hover(function(){
if($(this).not(':checked').length) {
$(this).prop('checked', true);
}
else if($(this).is(':checked')){
$(this).prop('checked', false);
}
})
小提琴:
您也可以使用1号衬里:
$(this).prop('checked', !$(this).prop('checked'));
.is()
和.not()
不一样
.is()
返回true或false,而返回.not()
如果jQuery元素匹配,则删除它
因此,$(选择器).not()
将始终为true,因为定义了jquery
要检查元素是否存在,请使用.length
$(':checkbox').hover(function(){
if($(this).not(':checked').length) {
$(this).prop('checked', true);
}
else if($(this).is(':checked')){
$(this).prop('checked', false);
}
})
小提琴:
您也可以使用1号衬里:
$(this).prop('checked', !$(this).prop('checked'));
请注意,输入的名称param需要一个相等的值。另外,悬停错误的事件,除非您指定了一个悬停入和悬停出处理程序,否则函数将继续运行。更容易使用鼠标指针处理程序。只有在悬停开始时才开火。如果您想在鼠标离开时发生其他事情,可以指定鼠标离开。或者,您可以在hover函数中指定两个函数来执行此操作
$(':checkbox').mouseenter(function(){
if($(this).prop('checked')) {
$(this).prop('checked', false);
}
else{
$(this).prop('checked', true);
}
})
请注意,输入的名称param需要一个相等的值。另外,悬停错误的事件,除非您指定了一个悬停入和悬停出处理程序,否则函数将继续运行。更容易使用鼠标指针处理程序。只有在悬停开始时才开火。如果您想在鼠标离开时发生其他事情,可以指定鼠标离开。或者,您可以在hover函数中指定两个函数来执行此操作
$(':checkbox').mouseenter(function(){
if($(this).prop('checked')) {
$(this).prop('checked', false);
}
else{
$(this).prop('checked', true);
}
})
这是工作小提琴,
这是工作小提琴,
试试这个-在悬停状态下这样做是没有意义的,因为一旦你取消悬停/鼠标移出复选框,无论用户的行为如何,复选框都将被取消选中。这有什么意义?@DavidThomas是的-从那时起,我实际上切换到了
.mouseenter
。我会更新代码的。但再说一次:重点是什么?你想做什么?@DavidThomas我管理的一个网站需要对某些任务进行大量的复选框点击,而checkall chrome扩展只允许元素中的all或all,这两者都不起作用。所以我想我应该尝试构建我的第一个chrome扩展来帮助其他有同样问题的人。试试这个——在悬停状态下这样做是没有意义的,因为一旦你取消悬停/鼠标,复选框将始终处于未选中状态,而不管用户的行为如何。这有什么意义?@DavidThomas是的-从那时起,我实际上切换到了.mouseenter
。我会更新代码的。但再说一次:重点是什么?你想做什么?@DavidThomas我管理的一个网站需要对某些任务进行大量的复选框点击,而checkall chrome扩展只允许元素中的all或all,这两者都不起作用。所以我想我应该尝试构建我的第一个chrome扩展来帮助其他有同样问题的人。这实际上是我尝试的第一个方法,但它不起作用。只需将其插入以重试,无需雪茄。抱歉,但是您的JSFIDLE需要一些拼写错误修复,然后它就可以工作了:但不确定您到底在寻找什么。您正在使用悬停输入/输出处理程序。医生,你可能想要点别的东西这是我第一次尝试的方法,但没有成功。只需将其插入以重试,无需雪茄。抱歉,但是您的JSFIDLE需要一些拼写错误修复,然后它就可以工作了:但不确定您到底在寻找什么。您正在使用悬停输入/输出处理程序。医生,你想要点别的东西我很兴奋因为这样很有效。它选中该框,但不添加属性。尝试将其添加为道具,这再次打破了检查切换。经过再三考虑-它不需要一个可视的单击的属性,就所有意图和目的而言都被认为是检查的,对吗?我很兴奋,因为这样做有效。它选中该框,但不添加属性。尝试将其添加为道具,这再次打破了检查切换。经过仔细考虑-它不需要一个可视的单击的属性,在所有意图和目的下都被视为检查的权利,对吗?是-这会给您打勾-但我没有看到checked=“checked”
或只是在元素中选中了一个属性。@ItamarOKestenbaum您不需要在元素中选中它。看这把小提琴。jquery仍将知道其已选中,http post也将发布它。这让事情变得简单多了。谢谢是-这给了您复选标记-但是我没有在元素中看到checked=“checked”
或仅仅是checked
属性。@ItamarOKestenbaum您不需要在元素中进行选中。看这把小提琴。jquery仍将知道其已选中,http post也将发布它。这让事情变得简单多了。谢谢虽然所有其他人都很有帮助,但这一行运行良好。我还了解到,您不必在元素中直观地显示属性,就可以使其生效。这是正确的吗?虽然所有其他人都很有帮助,但这一行运行良好。我还了解到,您不必在元素中直观地显示属性,就可以使其生效。这是正确的吗?