2013-09-28 37 views
1

我有兩個單選按鈕,首先使文本變紅,另一個變成黃色。但我不能把它變成藍色。請幫助謝謝。如何讓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'); 
     } 
    }); 
}); 
+1

bcoz黃不藍 –

+1

有四個answers..each一個correct..no一個這裏是餓了reputation.Accept你覺得答案是正確的。 –

+1

他們都是正確的,但是,只要稍作修改就可以解決問題。 –

回答

2

.radio1同時選擇無線電輸入!

有幾種選擇:

  • 分配一個ID

  • 使用.eq()

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

    → jsFiddle

  • 使用:first

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

    → jsFiddle

  • 如果你真的願意,你也可以指定不同類別(我做推薦這種方法的原因很簡單,標識是指在這種情況下使用類代替!)

    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

不錯的答案:)。 – Cristy

+0

answer5:assign#radio1#radio2 :) –

+0

@JanAnderssen這是我在列表中的第一個要點;) – ComFreek

0

您可以使用:first做到這一點:

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

演示Fiddle

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> 
+0

我寧願在這種情況下使用ID。類是爲了分組元素。如果你想確定一個元素,你應該使用一個ID。 (當然,他們都工作。) – ComFreek

+0

我在答覆中加入了你的觀點 - 包括警告! @Rahul是對的,它不是(總是)關於這裏的聲望! – ComFreek