2013-05-06 37 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

相关问题