我在数据列表中有一张图片
<asp:DataList ID="dlHotels" runat="server" >
<ItemTemplate>
<img id="opener" class="btn12" alt="" src="images/view.jpg" />
</ItemTemplate>
</asp:DataList> 当我单击该图像时,将调用jquery
$(function () {
$("#dialog").dialog({
autoOpen: false,
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
}
});
$("#opener").click(function () {
$("#dialog").dialog("open");
});
});现在,在这个jquery中出现了一个弹出窗口,它位于div中,位于datalist之外
<div id="dialog" title="Choose Your Dates">
</div>现在我想要的是,当div出现时,它应该知道通过哪个图像调用它。
发布于 2013-12-05 19:05:18
好了,你不能使用通用的id打开程序,因为当后端呈现html代码时,id名称是用索引器计算的,因为没有多次使用相同的ID标识符。
对于此用例,您可以尝试执行以下操作:
<asp:DataList ID="dlHotels" runat="server" >
<ItemTemplate>
<img id="opener" class="btn12" alt="" src="images/view.jpg" onclick="openMe(this)" />
</ItemTemplate>
</asp:DataList>现在使用以下代码修改您的javascript代码:
$(function () {
$("#dialog").dialog({
autoOpen: false,
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
}
});
// $("#opener").click(function () {
//
// $("#dialog").dialog("open");
// });
});
function openMe (p_whoIs)
{
//for debug use, comment the next line in procduction environment
alert("You call me with : " + p_whoIs);
var $img = $(p_whoIs).clone();
$("#dialog").append($img);
$("#dialog").dialog("open");
}https://stackoverflow.com/questions/20397602
复制相似问题