2011-07-17 28 views
2

我試圖通過按下轉發器中的按鈕來訪問我的轉發器的分區 div顯示:none;該按鈕有一個jQuery腳本來進入OnClientClick。轉發器內部的分區

繼承人的HTML樣本:

<asp:Repeater runat="server" ID="rptrPics" OnItemDataBound="rptrPics_ItemDataBound" OnItemCommand="rptrPics_ItemCommand"> 
<ItemTemplate> 
<asp:Button runat="server" ID="showDiv" OnClientClick="$('div[imageId=' + imageId + ']').slideToggle(); return false; /> 
<div runat="server" id="hiddenDiv" style="display: none;"> 
SOME CODE 
</div> 
</ItemTemplate> 
</asp:Repeater> 

現在的圖像標識是一個屬性,我在repeaterBinder

hiddenDiv.Attributes.Add("imageId", imgData.ProductId.ToString()); 
showDiv.Attributes.Add("imageId", imgData.ProductId.ToString()); 

似乎沒有任何工作需要設置建議。

+0

你真的需要服務器按鈕,在這裏?它可能會觸發回發或否? –

回答

2
function slideToggle(button) { 
    $(button).next("div.hiddenDiv").slideToggle(); 
    return false; 
} 

<asp:Repeater runat="server" ID="rptrPics"> 
<ItemTemplate> 
    <asp:Button runat="server" ID="showDiv" OnClientClick="return slideToggle(this);" Text="Show" /> 
    <div runat="server" class="hiddenDiv" style="display:none;" > 
     SOME CODE 
    </div> 
</ItemTemplate> 

3

你忘記的OnClick表達式中使用this.getAttribute(名稱)

OnClientClick="$('div[imageId=' + this.getAttribute(imageId) + ']').slideToggle(); return false; />