首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Jquery中,当单选按钮被选中时,如何更改css样式或切换单选按钮标签的类?

问在Jquery中,当单选按钮被选中时,如何更改css样式或切换单选按钮标签的类?
EN

Stack Overflow用户
提问于 2012-02-18 11:44:52
回答 4查看 4.4K关注 0票数 2

我有一组单选按钮,每个单选按钮都有自己的标签:

代码语言:javascript
复制
<label>
<input type="radio" class="lstradio" name="photonum" value="4" id="photonum_1" />
4</label>

我还有这些标签的css,可以与鼠标悬停一起使用:

代码语言:javascript
复制
label {
font-family: sans-serif;
font-size: 20px;

}
label:hover {
background-color: #FF6; 
}

我的问题是:当我的单选按钮输入被选中时,如何使用jQuery切换标签的css样式或类?

以下是场景:

在每个字段集中有许多单选按钮,我的想法是只为在每个字段集中选中的单选按钮的标签更改css样式...

也许我需要摆弄一下blur()函数?

下面是示例:http://jsfiddle.net/ykK2s/2/

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-18 11:51:53

您可以在click()上的label中执行此操作。

代码语言:javascript
复制
$('label').click(function(){
    $('label').removeClass('checked');
    $(this).addClass('checked');
});

检查此http://jsfiddle.net/Eunpt/

编辑: <span>s让事情变得有点复杂,但这是可行的:

代码语言:javascript
复制
$('label').click(function(){
    $(this).parents('fieldset').find('label').removeClass('radiochecked');
    $(this).addClass('radiochecked');
});

Look http://jsfiddle.net/ykK2s/4/

票数 1
EN

Stack Overflow用户

发布于 2012-02-18 11:50:41

代码语言:javascript
复制
<label for="photonum">
    <input type="radio" class="lstradio" name="photonum"
           value="4" id="photonum_1" />
4</label>


<script>
    $('input.lstradio').change(function(){
        var that = $(this);

        if(that.attr('checked')) {
            var selector = 'label[for="' + that.attr('name') + '"]';

            $(selector).addClass('someclass');
        }
    });
</script>

http://jsfiddle.net/DN4Nu/1/

票数 2
EN

Stack Overflow用户

发布于 2012-02-18 12:25:10

如果所有的无线电都像你的例子中那样用标签包装,那么这应该是可行的:

代码语言:javascript
复制
$('input.lstradio').click(function() {
    jQuery(this).parent().class('myclass');
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9338330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档