如何在每个ItemTemplate中加载js?
创建了一个datalist,在itemtemplate中加入了js,结果只有第一个ItemTemplate加载了这个js,后面完全没有加载。
<asp:DataList ID="Images" runat="server" >
<ItemTemplate>
<script>在id='player'的div中嵌入一个视频,视频地址是<%# DataBinder.Eval(Container.DataItem, "video_ID") %></script>
<div id="1"></div>
<div id="2"></div>
<div id="player"><div>
</ItemTemplate>
这个datalist的目的就是从数据库读出电影的信息,然后加载出来,左边图片,中间文字,右边视频。
视频加载的时候不是url,是一个ID,然后要通过JS来根据ID加载。结果是第一个会加载,后面的就不加载了。
求教!谢谢了。
datalist
JavaScript
asp.net
------解决方案--------------------<div id="player"><div>
问题在这里
页面中会生成 多个这个样的标签,而通过ID获取DOM对象时只能获取到第一个。
所以建议你这样做:
<ItemTemplate>
<script>在id='player+video_id'的div中嵌入一个视频,视频地址是<%# DataBinder.Eval(Container.DataItem, "video_ID") %></script>
<div id="1"></div>
<div id="2"></div>
<div id="player<%# DataBinder.Eval(Container.DataItem, "video_ID") %>"><div>
</ItemTemplate>
------解决方案--------------------楼上正解,在使用ID访问块时要特别注意这个。。
------解决方案--------------------感觉JS和HTML分开好点,获取对象、添加事件有多种多样的方法