0

看看这个 jsFiddle,我的复选框永远不会得到checked属性。这是一个非常简单的测试,但我无法让警报显示true

http://jsfiddle.net/ZLpHv/

<input type="checkbox" id="checky" />

$(document).ready(function() {
    $("#checky").click(function() {
       alert($(this).is("checked")); 
    });
});

为什么false在这两种情况下都会显示警报?为什么该checked属性永远不会设置在复选框上?我在这里做错了什么?

4

4 回答 4

8

它实际上是:

$(this).is(":checked")

即使使用键盘检查,绑定更改事件也可以使其工作:

$(document).ready(function() {
    $("#checky").on('change', function() {
       alert($(this).is(":checked")); 
    });
});
于 2013-03-04T15:45:30.200 回答
5

其实是:alert($(this).is(":checked"));

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

于 2013-03-04T15:45:36.473 回答
2

你忘记了“:”。

alert($(this).is(":checked"));
于 2013-03-04T15:46:15.157 回答
1
$(function() {
   //checkbox
   $("#terms").click(function(){
       //if this...
       //alert("this")...
       if($("#terms").is(':checked'))
       {              
          alert("im checked");
       }
   });
   //button
   $("#buttonID").click(function(e){
       if(!$("#terms").is(':checked'))
       {
           alert("you did not check the agree to terms..."); 
           e.preventDefault();
       }
   });
 }

你可以用这个它对我有用

于 2013-03-04T15:58:18.393 回答