2011-01-29 215 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' 

感謝所有