1

我有两个单选按钮,第一个使文本变为红色,另一个使文本变为黄色。但我不能让它变蓝。请帮忙谢谢。

解决方案:http: //jsfiddle.net/h6ye7/17/

<form>
    Option 1<input type="radio" name="opt" class="radio1" value="Option 1" />
    Option 2<input type="radio" name="opt" class="radio1" value="Option 2" />
</form>

<div class="text">sad dsffsadf sdsdf sfadfsd</div>


$(document).ready(function(){
    $('input[type=radio]').change(function(){
        if($('.radio1').is(':checked'))
        {
            $('.text').css('background-color', 'red');
        }
        else
        {
            $('.text').css('background-color', 'yellow');
        }
    });
});
4

3 回答 3

2

.radio1选择两个无线电输入!

有几种选择:

  • 分配一个 ID

  • 使用.eq()

    if ($(".radio1").eq(0).is(':checked'))
    

    → jsFiddle

  • 采用:first

    if ($(".radio1:first").is(':checked'))
    

    → jsFiddle

  • 如果你真的想要,你也可以分配不同的类(我推荐这种方法,原因很简单,在这种情况下,ID 是用来代替类的!)

    HTML:

    Option 1<input type="radio" name="opt" class="radio1" value="Option 1" />
    Option 2<input type="radio" name="opt" class="radio2" value="Option 2" />
    

    JS(和你一开始的一样):

    if ($(".radio1").is(':checked'))
    

    jsFiddle

于 2013-09-28T07:48:41.470 回答
0

您可以使用它:first来执行此操作:

$('input[type=radio]').change(function(){
    if($('.radio1:first').is(':checked'))
    {
        $('.text').css('background-color', 'red');
    }
    else
    {
        $('.text').css('background-color', 'yellow');
    }
});

演示小提琴

于 2013-09-28T07:49:01.023 回答
0

我为第二个单选按钮提供了一个不同的类.radio2并解决了它。

http://jsfiddle.net/h6ye7/17/

<form>
    Option 1<input type="radio" name="opt" class="radio1" value="Option 1" />
    Option 2<input type="radio" name="opt" class="radio2" value="Option 2" />
</form>
于 2013-09-28T08:01:23.627 回答