检查点击checkbox是否选中 – jQuery

我想检查一下当用户点击它时是否取消选中了一个checkbox。 原因是因为我想在用户取消选中checkbox时进行validation。 因为至less有一个checkbox需要检查。 所以如果他不检查最后一个,那么它会自动再次检查自己。

使用jQuery,我可以很容易地发现它是否被检查:

$('#check1').click(function() { if($(this).is(':checked')) alert('checked'); else alert('unchecked'); }); 

但我其实只想有一个if语句来检查checkbox是否被取消选中。

所以我想我可以用下面的代码来做到这一点:

 $('#check2').click(function() { if($(this).not(':checked')) alert('unchecked'); else alert('checked'); }); 

但是,这将始终显示“未经检查”的信息。 不是我所期待的

演示: http : //jsfiddle.net/tVM5H/

所以最终我需要像这样的东西:

 $('#check2').click(function() { if($(this).not(':checked')) { // Got unchecked, so something!!! } }); 

但显然这是行不通的。 我宁愿不要使用第一个例子,因为那么当我只需要一个“if”语句时,我会有一个不必要的“else”语句。

首先,这是一个jQuery的bug? 对我来说这是意想不到的行为。 其次,任何人都可以select一个好的select?

尝试这个:

 if(!$(this).is(':checked')) 

演示

已经发布的答案将起作用。 如果你想使用jQuery:不,你可以这样做:

 if ($(this).is(':not(:checked)')) 

要么

 if ($(this).attr('checked') == false) 

jQuery来检查检查? 真?

 if(!this.checked) { 

不要使用火箭筒做剃刀的工作。

 $(document).ready(function() { $("#check1").click(function() { var checked = $(this).is(':checked'); if (checked) { alert('checked'); } else { alert('unchecked'); } }); }); 
 <script type="text/javascript"> if(jQuery('input[id=input_id]').is(':checked')){ // Your Statment }else{ // Your Statment } OR if(jQuery('input[name=input_name]').is(':checked')){ // Your Statment }else{ // Your Statment } </script> 

取自以下代码: http : //chandreshrana.blogspot.in/2015/10/how-to-check-if-checkbox-is-checked-or.html

看看这个问题的一些答案 – 我想这可能适用于你的:

如何在元素的默认行为后运行点击function

我想你在onclick函数的浏览器实现中遇到了不一致的问题。 一些select在事件被触发之前切换checkbox,一些在之后。

答案已经发布。但我们也可以用这种方式使用jquery

演示

 $(function(){ $('#check1').click(function() { if($('#check1').attr('checked')) alert('checked'); else alert('unchecked'); }); $('#check2').click(function() { if(!$('#check2').attr('checked')) alert('unchecked'); else alert('checked'); }); }); 

像这样做

 if (typeof $(this).attr("checked") == "undefined" ) // To check if checkbox is checked if( $(this).attr("checked")=="checked")