如何根据复选框的.change更改元素的可见性

时间:2014-07-02 07:04:18

标签: jquery

如果选中了#comparelist个复选框,我想显示.addtocomparelist,如果未选中,则隐藏它。 #compare列表在css中有display: none;

    $('.addtocomparelist').change(function(e) {
         $('#comparelist').toggle();
         if($(this).is(':checked')){
              var x = $(this).val();
              var img = $('#' + x).find('.productimage img').attr('src');
              var name = $('#' + x).find('.productname').text();
              $('#comparelist').find('ul').append('<li id="c'+x+'"><a href="#"><img src="'+img+'">'+name+'</a><a href="#" class="deleteitem"><i class="fa fa-times-circle"></i></a></li>');
         } else {
              var x = $(this).val();
              $('#c' + x).remove();
         }
 });

1 个答案:

答案 0 :(得分:1)

如果选中任何.addtocomparelist复选框,我想显示#comparelist

您需要使用.toggle( showOrHide )

  

一个布尔值,指示是否显示或隐藏元素。

使用

$('#comparelist').toggle($('.addtocomparelist').is(':checked'));

修改

如何添加&#39;快速&#39;切换,我应该把它放在哪里在此你需要使用.show().hide()

实施例

var isChecked = $('.addtocomparelist').is(':checked')
if(isChecked){
    $('#comparelist').show('fast'); //You can use slideDown
}else{
    $('#comparelist').hide('fast'); //You can use slideUp
}