以下是带有图片的转发器下的标签代码:
<asp:Repeater ID="innerRep" runat="server">
<ItemTemplate>
<li>
<img src=' <%#Eval("ImageName") %>' alt='<%#Eval("ImgUrl") %>' width="100" height="60" onclick = "ChangeImage(this)" style="cursor:pointer;" />
<br /> <asp:Label ID="Label1" runat="server" Text='<%#Bind("VideoName") %>' ></asp:Label>
</li>
</ItemTemplate>
</asp:Repeater>
当我使用图像onclick单击特定图像时,视频将开始在I帧中播放,并且我需要视频名称应该在标签下面的I帧下面。
为此,我使用一个label2在视频播放器下方显示视频名称。
答案 0 :(得分:0)
将转发器中的img标签更改为:
<img src=' <%#Eval("ImageName") %>' alt='<%#Eval("ImgUrl") %>' width="100" height="60" onclick = "ChangeImage(this,'<%#Eval("VideoName")' )" style="cursor:pointer;" />
为了简洁起见,我假设您保留了html范围(id = spnPlayingVideoName),低于iframe 然后在javascript中你可以做类似的事情:
<script language="javascript">
function ChangeImage(getID, playingVideoName)
{
//Set label value in JavaScript
//document.getElementById("spnPlayingVideoName").value=playingVideoName;
//Set label value in jQuery
$("#spnPlayingVideoName").text(playingVideoName);
var targetID = document.getElementById("centralImage");
targetID.src=getID.alt;
}
</script>
此代码未经过彻底测试,但提供了快速创意。
注意:确保向“ChangeImage(...)”函数添加额外参数不会破坏其他代码。 如果它打破了其他一些代码,你可以编写一个单独的函数(例如:UpdateVideoLabel(...))并从img标签的“onclick”事件中调用它。
答案 1 :(得分:0)
$(function(){
$('img').click(function(){
//make a variable with the value of a label1 based on the selected img - in your given code you can achieve this by the example bellow or using $(this).next().next().text() - > <br /> is element as well.
var videoname = $(this).parent().find("label1").text();
$('label2').text(videoname);
});
});