如果选中单选按钮,则添加和删除类

时间:2014-03-27 09:12:05

标签: jquery

如果选中第二个单选按钮,我需要添加类,如果未选中radion按钮,则删除class。当取消选中单选按钮时,它不起作用。

$(document).ready(function(){
                $('#second').on('change',function(){
                    if ($('#second').attr("checked", "checked")){
                    $(".drag_and_drop").addClass('collapse');
                    } else {
                        $(".drag_and_drop").removeClass('collapse');
                    }
                });
            });

http://jsfiddle.net/7aGEv/34/

4 个答案:

答案 0 :(得分:5)

您需要使用

$(document).ready(function(){
    $('input[name="test"]').on('change',function(){
        $(".drag_and_drop").toggleClass('collapse', this.checked && this.id == 'second');
    });
});

演示:Fiddle

  • $('#second').attr("checked", "checked")用于将值checked分配给checked属性,而不是检查checked属性=='是否已检查过&{39}。为此你需要$('#second').attr("checked") == "checked"
  • 如果您仅将更改事件注册到second,则在选择first后选择second时,系统不会触发更改事件。因此,请注册单选按钮组的更改处理程序,并检查是否已选中second一个
  • 您可以使用.toggleClass()切换课程作业

答案 1 :(得分:1)

你可以试试这个。

 $(document).ready(function(){
     $('#second').on('change',function(){
        if ($('#second').is("checked")){
           $(".drag_and_drop").addClass('collapse');
        } else {
           $(".drag_and_drop").removeClass('collapse');
       }
    });
 });

答案 2 :(得分:0)

试试这个:

   $('input[name="test"]').on('change',function(){
     if ($('#second').is(":checked")){$(".drag_and_drop").addClass('collapse');} else {      $(".drag_and_drop").removeClass('collapse');
   }});

<强> Working Fiddle

答案 3 :(得分:0)

更改您的事件选择器。试试这样:

$(document).ready(function(){

    $('input:[name="test"]').on('change',function(){
                    if ($('#second').attr("checked")){
                       $(".drag_and_drop").addClass('collapse');

                    } else {
                        $(".drag_and_drop").removeClass('collapse');

                    }
                });
       });

demo: