Asp.net:带有Jquery滑块问题的Repeater

时间:2017-02-22 21:36:35

标签: jquery html css asp.net twitter-bootstrap

我正在使用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

1 个答案:

答案 0 :(得分:0)

您需要更改此行:

$('.slideDown').slideToggle();

为:

$(this).closest('div.caption').find('.slideDown').slideToggle();

说明:获取最近的 div.caption 元素,然后找到相应的slideDown子元素。

相反, $('。slideDown') 会找到该类的每个元素。

  

jQuery.closest()

     

对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。