2015-09-16 71 views
0

我想在用户选中/取消选中复选框时显示按钮。对于不同的用户,该复选框可以显示为选中或取消选中。如何根据复选框的先前状态显示/隐藏按钮。 我目前的代码如下。基于jQuery之前的状态显示/隐藏按钮

$('#receive-msg').on('click',function(){ 
var btnNoMsg = $('#btn-no-msgs'); 
    btnNoMsg.removeClass('hide').addClass('hide'); 
    btnNoMsg.removeClass('hide'); 
}); 

我知道我有存储复选框的当前状态的地方,并且点击时再次与当前状态,并显示相比较以前的状态/隐藏按钮。

更新: 我已经解决了它使用下面的代码。

var btnNoMsg = $('#btn-no-msgs'); 
    var state = $(this).prop('checked'); 
    var receive = $(this).data('receive'); 
    var status = receive ? true : false; 
    if (state === status){ 
     btnNoMsg.removeClass('hide').addClass('hide'); 
    }else{ 
     btnNoMsg.removeClass('hide'); 
    } 

但是我打算使用beautifulocoder提供的代码。

+0

什么是'btnNoMsg.removeClass( '隐藏')的目的addClass( '隐藏');'?可以在问题中包含'html'? – guest271314

+0

我有一个很棒的解决方案。请给我一点时间写下来。 –

+0

@ guest271314我忘了删除该代码,请忽略。 –

回答

0

用一个简单的toggleClass

$('#receive-msg').on('click', function() { 
    $('#btn-no-msgs').toggleClass('hide'); 
});