我正在使用asp:Repeater来处理asp.net项目,以显示数据库和JQuery的数据,如下所示:
`
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="repUsers_ItemCommand">
<ItemTemplate>
<div class=" col-md-3 col-sm-4">
<div class="thumbnail">
<asp:Image ID="Image1" ImageUrl='<%#Eval("Imgpath") %>' hieght="100" Width="300" runat="server" />
<div class="caption">
<h3>Product Name</h3>
<div class="slideDown">
<h5>Student Name:</h5>
<h5>Description</h5>
<h5>Contact:</h5>
</div>
<p>
<asp:LinkButton ID="LinkButton1" CommandArgument='<%#Eval("Imgid")%>' CommandName="select"
Text="Select" class="btn btn-primary grabPromo" runat="server"></asp:LinkButton></a>
<a class="btn btn-danger grabPromo" role="button">See Details</a>
</p>
</div>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
`
Jquery for slide
`
$('.grabPromo').click(function (e) {
$('.slideDown').slideToggle();
});
`
现在的问题是,如果&#34;看到细节&#34;单击一个div的按钮,它将向下滑动以查找转发器中的所有内容。我想一次只滑动一个div一个转发器内容。那可能吗?如果是这样,请指导我。 all the details are shown on click of one repeater content
答案 0 :(得分:0)
您需要更改此行:
$('.slideDown').slideToggle();
为:
$(this).closest('div.caption').find('.slideDown').slideToggle();
说明:获取最近的 div.caption 元素,然后找到相应的slideDown子元素。
相反, $('。slideDown') 会找到该类的每个元素。
对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。