2012-03-31 63 views
1

這裏是我的腳本:jQuery的ID在ASP.NET頁面內容選擇

<script type="text/javascript"> 
$(document).ready(function() { 
    $(".div_question").toggle(function() { 
     var answer= "answer" + $(this).attr("id"); 
     $("xxx").slideDown(); // what could i write here. 
    }, function() { 
     var answer= "answer" + $(this).attr("id"); 
     $("xxx").slideUp(); 
    }); 
}); 
</script> 

,這裏是我的內容頁:

<asp:Repeater ID="Repeater_question" runat="server" DataSourceID="SqlDataSource_question"> 
<HeaderTemplate> 
</HeaderTemplate> 
<ItemTemplate> 
    <div> 
     <div class="div_question" id='<%# Eval("question_id") %>'> 
       <strong><%# Eval("question_header") %></strong> 
     </div> 
     <div class="div_answer" id='<%# "answer"+Eval("question_id") %>' style="display: none; padding: 5px 5px 5px 15px;"> 
       <%# Eval("question_content") %> 
     </div> 
    </div> 
</ItemTemplate> 
</asp:Repeater> 

我想選擇div_answer顯示/隱藏。我寫的不是「xxx」,我找不到正確的語法。在母版頁中,當我編寫$("#" + answer)時它有效。但是,在內容頁面中,它不起作用。

回答

5

根據您的標記結構,您可以使用next()並完成它。 next()發現緊隨其後的兄弟可以通過選擇器進行過濾。

$(document).ready(function() { 
    $(".div_question").toggle(function() { 
     $(this).next().slideDown(); 
    }, function() { 
     $(this).next().slideUp(); 
    }); 
}); 
+0

最簡單和酷。謝謝 – 2012-03-31 23:57:34

+0

隨時將其標記爲答案。 – ShankarSangoli 2012-04-01 05:51:00