Jquery在检查复选框时没有触发

时间:2016-03-23 08:22:56

标签: jquery

大家好,我正在记住我的网站功能,当用户选中复选框时,我应该将用户名和密码存储在cookie中。当我选中复选框时,没有任何事情发生,没有事件被触发

  $(document).ready(function(e) {
    $("#menu").click(function(e) {
        $(".nav").slideToggle();        
    });
    if ($('#remember').attr("checked")) {
        alert("check box checked");
        var username = $('#username').attr("value");
        var password = $('#password').attr("value");
        // set cookies to expire in 14 days
        $.cookie('username', username, { expires: 14 });
        $.cookie('password', password, { expires: 14 });
        $.cookie('remember', true, { expires: 14 });
    } else {
        // reset cookies
        $.cookie('username', null);
        $.cookie('password', null);
        $.cookie('remember', null);
    }

});

2 个答案:

答案 0 :(得分:1)

将事件绑定到复选框的单击:

$('#remember').click(function(){
    alert($(this).attr("checked"));
});

答案 1 :(得分:1)

你只放了if和else条件,但是这个代码会在文件就绪时触发,而不是复选框检查。添加复选框更改事件处理程序并将您的脚本放入其中,请参阅下面的代码

$(document).ready(function(e) {
    $("#menu").click(function(e) {
        $(".nav").slideToggle();        
    });
   // register a change event handler
    $('#remember').change(function(){
       //Use $(this), which is the instance of clicked checkbox
       if ($(this).is(":checked")) { // you can use is(":checked")
          alert("check box checked");
          var username = $('#username').attr("value");
          var password = $('#password').attr("value");
          // set cookies to expire in 14 days
          $.cookie('username', username, { expires: 14 });
          $.cookie('password', password, { expires: 14 });
          $.cookie('remember', true, { expires: 14 });
      } else {
          // reset cookies
          $.cookie('username', null);
          $.cookie('password', null);
          $.cookie('remember', null);
      }
    });
});
相关问题