如何让jQuery识别radiobutton的变化

时间:2013-09-28 07:46:25

标签: javascript jquery

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

解决方案: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');
        }
    });
});

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

演示Fiddle

答案 2 :(得分: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>