JQuery:单击单选按钮时更改类

时间:2012-12-26 12:06:32

标签: javascript jquery css

我需要一些javascript的帮助。

以下是JSFIDDLE中代码的链接:http://jsfiddle.net/Gopher69/B98kZ/4/

我的JS是:

$(document).ready(function() {
//add the Selected class to the checked radio button
$('[type=radio]').parent().addClass("selected");
//If another radio button is clicked, add the select class, and remove it from the       previously selected radio
$('input').click(function() {
    $('input:not(:checked)').parent().removeClass("radio  validate-one-required-by-name product-custom-option").find("class").html("radio  validate-one-required-by-name product-custom-option");
    $('input:checked').parent().addClass("radio  validate-one-required-by-name product-custom-option").find("class").html("radio  validate-one-required-by-name product-custom-option active");
});});

我想调整单选按钮的背景颜色,就像我用css悬停效果一样。因此,当radiobutton处于活动状态时,我需要向类中添加类似“已检查”的内容。

我发现了这篇文章,但我没有得到前言:jQuery Checkbox selection and change class

如果有人可以帮助我,我会非常感激。

3 个答案:

答案 0 :(得分:3)

你可以使用纯css来做到这一点:

  input[type="radio"]:checked {
    /* put some style here */
  }

答案 1 :(得分:0)

$("#" + radioelementid).on("change",function(){  
$(this).addClass("testClass")   
//or   
$(this).removeClass("testClass");
});

答案 2 :(得分:0)

根据@Krunal Goswami的回答 - 甚至更短:

$("#" + elementId).on("change",function(){
    $(this).toggleClass("checked");
});

注意

这应该是你的伎俩。虽然我不建议使用这个。而是尝试一个“自定义复选框”实现/ jQuery插件,因为本机浏览器复选框并不真的喜欢被设置样式(跨浏览器)。