2012-03-05 45 views
0

嘿你們大家我有一個問題,我的收音機按鈕,我有這3個按鈕如果單選按鈕是檢查顯示一個文本框的Jquery

No <input type="radio" name="answer" checked="checked" value="no"/> 
Yes<input type="radio" name="answer" value="yes"/> 
Other <input type="radio" name="answer" value="other"/> 

我也有這個文本框

<input style="display:none;" type="text" name="otherAnswer" id="otherAnswer"/> 

如果用戶選擇值爲「其他」的單選按鈕,則顯示該文本框,如果其他東西不顯示該文本框。

我對Jquery來說相當新,我查了這個語法,但是它對我來說都是希臘語。如果任何人都可以指引我,那將是非常棒的方向!

回答

4
$("input[type='radio']").change(function(){ 

    if($(this).val()=="other") 
    { 
     $("#otherAnswer").show(); 
    } 
    else 
    { 
     $("#otherAnswer").hide(); 
    } 

}); 

這裏是工作示例:http://jsfiddle.net/Wc2GS/8/

+0

太棒了...這個完美的作品,謝謝Shyju – user979331 2012-03-05 16:13:24

+0

@ user1193385:歡迎。很高興知道它的工作。 – Shyju 2012-03-05 16:18:00

1
$(":radio").on('click',function(){ 

if ($(this).is(":checked") && $(this).val()=='other')) $('#otherAnswer').show(); else $('#otherAnswer').hide(); 

}); 
+0

爲什麼不使用'this.checked'和'this.value'而不是不必要地創建jQuery對象和調用函數? – 2012-03-05 16:05:48

+0

@AnthonyGrist好吧。但因爲我通常在我自己的代碼中使用我的jquery對象 - 即時自動執行它......雖然你是對的。你可以去查詢裏面的對象。 – 2012-03-05 16:07:07

0
$('input[name=answer]').change(function(){ 
    if(this.value) == 'yes'{ 
     $('#otherAnswer').show(); 
    }else{ 
     $('#otherAnswer').hide(); 
    } 
}) 
+0

這不會做他們需要的東西;有三個單選按鈕'name =「answer」',其中兩個應確保'input'被隱藏。 – 2012-03-05 16:08:37

+0

嘿,你是對的! – 2012-03-05 16:09:21

0

我覺得這是更有效的。

$("input[name='answer']").change(function(){ 

    if($(this).val() == "yes") 
    { 
     $("#otherAnswer").show(); 
    }else{ 
     $("#otherAnswer").hide(); 
    } 
}); 
相關問題