2017-03-07 75 views
0

你可以帮我。我想将类'checked'添加到类'.group_4'的跨度中。我想我会使用jQuery。我无法更改HTML。Radiobutton添加类时检查,删除时不检查

现在发生的情况是:单击这两个项目时,该类不会被删除。所以这两个跨度都有“gechecked”类。

任何简单的解决方案?

谢谢。

$(document).ready(function() { 
 
    $(".attribute_list label").click(function() { 
 
    if ($('input.attribute_radio').is(':checked')) { 
 
     $(this).find('.group_4').addClass("gechecked"); 
 
    } else { 
 
     $(this).find('.group_4').removeClass("gechecked"); 
 
    } 
 
    }); 
 
});
<div class="attribute_list"> 
 
    <ul> 
 
    <li> 
 
     <label><div class="radio" style="display: none;"><span class="checked"><input style="display:none !important" type="radio" class="attribute_radio" name="group_4" value="25"></span></div> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t <span class="group_4 gechecked">Graniet</span></label> 
 
    </li> 
 
    <li> 
 
     <label><div class="radio" style="display: none;"><span class=""><input style="display:none !important" type="radio" class="attribute_radio" name="group_4" value="26" checked="checked"></span></div> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t <span class="group_4 gechecked">Composiet</span></label> 
 
    </li> 
 
    </ul> 
 
</div>

+2

从_all_相关内容删除类第一,你把它FO前R的电流一个...? – CBroe

+0

如果你只有2个单选按钮,你也可以尝试使用toggleClass :) –

+0

@Jacob你的html不符合你的要求。你确定你不能改变你的html –

回答

1

这里是fiddle

jQuery(document).ready(function($) { 
    $(".attribute_list label").click(function() { 
    $('.group_4').removeClass("gechecked"); 
    if ($('input.attribute_radio').is(':checked')) { 
     $(this).find('.group_4').addClass("gechecked"); 
    } 
    }); 
}); 
0

试试这个代码:

$(document).ready(function() { 
     $(".attribute_list label").click(function() { 
     $(this).find('.group_4').removeClass("gechecked");   
     $('input.attribute_radio:checked').parent().parent().parent().find('.group_4').addClass("gechecked"); 
     }); 
    }); 
+1

它漂亮的工作 – AmerllicA

0
jQuery(document).ready(function($) { 
    $(".attribute_list label").click(function() { 
    $('.group_4').removeClass("gechecked"); 
    if ($('input.attribute_radio').is(':checked')) { 
     $(this).find('.group_4').addClass("gechecked"); 
    } 
    }); 
}); 
+1

虽然这个代码片断是值得欢迎的,并可以提供一些帮助,这将是(// meta.stackexchange.com/q/114762)*如何*和极大的,如果它包括一个改进的解释*为什么*这解决了这个问题。请记住,你正在为将来的读者回答这个问题,而不仅仅是现在问的人!请编辑您的答案以添加解释,并指出适用的限制和假设。 –