基本上,我试图在Repeater中运行一些jQuery,并且每当我抓到一个hiddenfield时,它总是从第一个hiddenfield中抓取值。将值设置为div时,仅将其设置为第一个div。
我如何指定jQuery使用当前的转发器项目数据?
<asp:Repeater ID="rpt_Product_Videos" runat="server">
<ItemTemplate>
<div class="Product_Content_Videos_DIV">
<div class="jcorg-yt-thumbnail">
<a href='http://www.youtube.com/watch?v=<%# Eval("VideoName")%>&feature=youtube_gdata_player' rel="Video[gallery]">
<img src='http://i.ytimg.com/vi/<%# Eval("VideoName")%>/1.jpg' width="85" height="64" />
</a>
</div>
<a href='http://www.youtube.com/watch?v=<%# Eval("VideoName")%>&feature=youtube_gdata_player' rel="Video[gallery]">
<div id="divTitle"></div>
</a>
<input type="hidden" id="hfVideoName" class="test5" value='<%# Eval("VideoName")%>' />
<script>
var hfVideoName = $("#hfVideoName").val();
$.get('http://gdata.youtube.com/feeds/api/videos/' + hfVideoName + '?v=2&alt=json', function (data) {
$("#divTitle").text(data.entry ? data.entry.title.$t : '');
});
</script>
</div>
</ItemTemplate>
</asp:Repeater>
编辑:
如下所述,我能够通过分配ID来实现。这是一团糟,但有效。甚至不打算粘贴丑陋的代码,但是我在用户页面上有一个int,从0开始,并通过JS为每个转发器项目增加1。在后面的代码中,我对控件执行了相同的操作,然后在JS中搜索ID以及该int值。
在使用中继器遍历记录时,您将拥有的多个副本hfVideoName
。因此,通过使用var hfVideoName = $("#hfVideoName").val();
它的jquery选择它时,始终会在页面上获得第一个。
我的建议是在该div的ID后面附加一些内容以使其唯一,例如ID。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句