如何使用jquery从点击的图像中获取图像ID?

时间:2012-02-23 17:50:06

标签: jquery asp.net onclick

我有一个从数据库中提取并加载到ASP中的ListView的图像列表。我有一个JQuery点击功能附加到生成的每个图像。我需要做的是以某种方式获取被点击的图像的ID,但是现在,我没有看到将ID附加到每个图像的方法。

ListView是从具有列ID,UserName,Photo的SQLSource填充的。项目模板使用用户名和照片显示列表,但不允许我使用Eval(“fieldName”)设置ID。

我要做的是:当用户点击图像时,JQuery会抓取与该图像关联的ID,这会打开另一个窗口,并使用该ID作为查询字符串的一部分。例如:

window.open(“anotherpage.aspx?id =”+ imgID);

这是我现在的jquery:

<script type="text/javascript">
        jQuery(document).ready(function () {

            $('[class=originalPhoto]').click(function (event) {
                var url = $(this).attr("href");
                var windowName = "popup";

                window.open("test.aspx");
                event.preventDefault();
            });
        });
 </script>

列表视图:

<telerik:RadListView ID="photoList" runat="server" 
                DataSourceID="employeePicsSource" DataKeyNames="ID">
                <ItemTemplate>
                    <center>
                    <p>
                    <table border="0" width="1000" cellpadding="10" class="personnelCell">                        
                        <tr>
                            <td width="25%"><%#Eval("FullName") %></td>
                            <td width="25%"><%#Eval("ADGUID") %></td>
                            <td width="25%" align="center"><asp:Image runat="server" 
                            ImageUrl='<%#GetImageURL((int)DataBinder.Eval(Container.DataItem,"ID")) %>' 
                            Width="200" CssClass="originalPhoto" /></td>
                            <td width="25%"><asp:Image runat="server" Width="96" Height="96" /></td>
                        </tr>
                    </table>
                    </p>
                    </center>
                </ItemTemplate>
            </telerik:RadListView>
            <asp:SqlDataSource ID="employeePicsSource" runat="server" 
                ConnectionString="<%$ ConnectionStrings:Employee_Photos_DevConnectionString %>" 

                SelectCommand="SELECT [FullName], [ADGUID], [Photo], [ID] FROM [Employee_AndPhoto]">
            </asp:SqlDataSource>

有什么想法吗? TIA

1 个答案:

答案 0 :(得分:1)

以同样的方式获得href,你也可以拥有id

$('.originalPhoto').click(function (event) {
    var url = $(this).attr("href");
    var id = $(this).attr("id");
    var windowName = "popup";

    window.open("test.aspx?id="+id);
    event.preventDefault();
});

正如jostster所说,你还需要为你的图像添加id,比如

id='Convert.ToString((int)DataBinder.Eval(item.DataItem, "ID"))'