2011-01-29 149 views
1

我有一些问题,下面的代码:DIV没有显示出来

<input type="radio" name="subscription" id="subscription" value="yes" checked="checked" />Yes 
<input type="radio" name="subscription" id="subscription" value="no" />No 

<div id="sub_yes" style="display:none;background-color:#fff;border:1px solid #ccc"> 
    [ some code here ] 
</div> 

现在我有jQuery的作为

if(jQuery('input[name|="subscription"]').val()=='yes') { 
    jQuery('#sub_yes').fadeIn(0, function(){ 
           jQuery(this).slideDown('slow','swing'); 
           }); 
} 

当文件准备好,jQuery的检查“预订”的价值,如果它是是的,那么它应该显示名为“sub_yes”的div,但是此代码不起作用。

请帮

+0

只是FYI:有在你的代码关于元素ID的错误 - 你不能有2种元素与页面上的SAME ID(id =“订阅”),因为每个ID是唯一的,浏览器不知道要搜索什么(如果需要) – 2011-01-29 09:44:44

回答

1

你只是检查订阅单选按钮的值。还应该有一个点击事件检查器,以便每当你点击单选按钮时,它应该检查该值并作出相应的反应。

jQuery('input[name|="subscription"]').click(function(){ 
if(jQuery('input[name|="subscription"]').val()=='yes') { 
    jQuery('#sub_yes').fadeIn(0, function(){ 
           jQuery(this).slideDown('slow','swing'); 
           }); 
} 
}); 

希望这能解决问题

0
<input type="radio" name="subscription" id="subscription" value="yes" checked="checked" />Yes 
    <input type="radio" name="subscription2" id="subscription2" value="no" />No 

    <div id="sub_yes" style="display:none;background-color:#fff;border:1px solid #ccc"> 
     [ some code here ] 
    </div> 


    $(document).ready(function(){ 

    $('input[type="radio"]').each(function(){ 
    var val=$(this).val(); 
    if(val=="yes"){ 
    $('#sub_yes').fadeIn(0, function(){ 
            $(this).slideDown('slow','swing'); 
            }); 
    return; 
    } 

    }); 



}); 

希望它有助于

编辑: 而不是显示:无ü可以使用

$("#sub_yes").hide(); 

在文件准备好,以显示您可以使用.show()

1

找到了解决办法:

我加:检查

jQuery('input[name|="subscription"]:checked').val()=='yes' 

感谢所有