我试图通过按下转发器中的按钮来从我的转发器访问div div显示:无;该按钮有一个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>
现在imageId是我在repeaterBinder中设置的属性
hiddenDiv.Attributes.Add("imageId", imgData.ProductId.ToString());
showDiv.Attributes.Add("imageId", imgData.ProductId.ToString());
似乎没什么工作需要建议。
答案 0 :(得分:3)
您忘了在OnClick表达式中使用this.getAttribute(name)
OnClientClick="$('div[imageId=' + this.getAttribute(imageId) + ']').slideToggle(); return false; />
答案 1 :(得分: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>