复选框在jQuery toggle()中使用时不检查

时间:2010-08-25 03:01:56

标签: jquery checkbox toggle

我有这个jQuery代码,它使用复选框输入上的toggle()函数(通过ID #rescheck),在复选框的点击/勾选时显示隐藏的div - 它完全正常,除了实际的“点击“或”检查“不会出现在Chrome中的框中。

在Firefox中相反,无论隐藏的div是否可见,检查或勾选始终从页面加载出现。

$("#rescheck").toggle(function(){   
        $("#reservationfields").stop().animate({ down: "+=300" }, 8000)      
        $("#reservationfields").stop().slideDown("slow");      
   }, function(){
        $("#reservationfields").stop().animate({ down: "-=300" }, 8000)      
        $("#reservationfields").stop().slideUp("slow");
    }); 

在检查了本网站上的另一个question后(回答14),我将我的代码修改为:

    $('#rescheck').change(function () {
    if ($(this).attr("checked")) {
        $("#reservationfields").stop().animate({ down: "+=300" }, 8000)      
        $("#reservationfields").stop().slideDown("slow"); 
    } else {
        $("#reservationfields").stop().animate({ down: "-=300" }, 8000)      
        $("#reservationfields").stop().slideUp("slow");
    }
});

这在FF和Chrome中效果很好,但Internet Explorer根本不会“检查”,也不会显示隐藏的div。

我真的需要这个跨浏览器工作,任何人都可以解决一些问题吗? :(

谢谢

1 个答案:

答案 0 :(得分:3)

绑定到click应该工作。