在jquery中的两个单选按钮之间切换类

时间:2012-01-28 04:44:36

标签: javascript jquery radio-button toggleclass

我知道这听起来像一个简单的问题,但由于某种原因,我现在无法弄明白。我的问题是这个,假设我的页面上有两个单选按钮:

<input type="radio" checked="checked" name=sport value="soccer" />
<input type="radio" name=sport value="basketball" />

我想要做的是,如果我点击一个单选按钮,我想为它添加一个类名,如果我点击另一个单选按钮,我想将相同的类添加到新点击的单选按钮按钮,我想要删除我添加到上一个的类,依此类推....

请问好吗?

3 个答案:

答案 0 :(得分:5)

试试这个。

$("input[name='sport']").click(function(){
   $("input[name='sport']").removeClass('className');   
   $(this).addClass('className');
});

<强> Demo

答案 1 :(得分:3)

嗯,这样的事情可以做到:

$('input:radio[name="sport"]').click(function() {
   $(this).addClass("yourclasshere")
          .siblings('input:radio[name="sport"]').removeClass("yourclasshere");
});

演示:http://jsfiddle.net/yH6ur/

如果真实项目中的单选按钮实际上并不是兄弟姐妹(因为它们包含在标签元素或其他内容中),那么按照Shankar Sangoli的回答进行操作。

答案 2 :(得分:1)

这就是我应用于任何无线电选项的方式,因此我不必每次都指定一个名称。我对此有点新鲜,所以我确信有人会对此有所说明。父母是一个标签,我有一个按钮作为按钮

$(".noradio").on('click', function(){
    var n=$(this).attr("name");
   $("input[name='"+n+"']").parent().removeClass('active').removeAttr('checked');  ;   
   $(this).parent().addClass('active').attr('checked', 'checked');
});

哦和.noradio是输入本身的一个类。