2013-05-06 53 views
0

如果單選按鈕組的所選無線電具有「紅色」以外的類別,如何隱藏div?在按鈕組中獲取所選無線電的課程

<form> 
    <input class="blue" name="model" value="XTC_01" type="radio"> 
    <input class="red" name="model" value="XTC_02" type="radio"> 
    <input class="red" name="model" value="XTC_03" type="radio"> 
    <input class="blue" name="model" value="XTC_04" type="radio"> 
</form> 

<div id="red_info">Hidden if selected radio class is not "red".</div> 

感謝您的建議。

+2

你嘗試過什麼嗎?你認爲,JavaScript(jQuery,也許不是必需的)是要走的路... – MarioDS 2013-05-06 11:06:03

回答

0

而是採用了很多pseudoselectors的,假設你的代碼是小

$('input:radio').click(function(){ 
    if($(this).hasClass('red')){ 
     $('#red_info').show(); 
    } else { 
     $('#red_info').hide(); 
    } 
}); 

KISS是你應該去什麼!

-1
if($("form>:not(.red)").is(":selected")){ 
    $("#red_info").hide(); 
} 

無論如何,我同意Mario De Schaepmeester。這很簡單,jQuery是一個矯枉過正。

+0

爲什麼我得到-1?我的代碼不好嗎? – brunoais 2013-05-06 11:11:33

1

試試這個:

$('input:radio[name="model"]').change(function() { 
    $('#red_info').toggle(this.className == 'red'); 
}); 
0

你可以這樣做:

$('input[name="model"]').change(function() { 
    var val = $("input[type='radio']:checked").attr('class'); 
    if(val == "red") { 
     $("#red_info").hide(); 
    } else { 
     $("#red_info").show(); 
    } 
}); 

Fiddle

0

你可以簡單的隱藏在div的檢查單選按鈕,通過使用下面的方法有類紅。

$("input[type='radio'][class='red']:checked").hide('#red_info') 
+1

您可以使用「.red」而不是使用「[class ='red']」。它使代碼更具表現力:) – brunoais 2013-05-06 11:17:18

相關問題