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

发布于 2025-01-08 03:17:58 字数 2361 浏览 1 评论 0原文

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

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

我想做的是:当用户单击图像时,JQuery 会获取与该图像关联的 ID,JQuery 将打开另一个窗口并使用该 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>

和 listview:

<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

I have a list of images that are pulled from a database and loaded into a ListView in ASP. I have a JQuery click function attached to each image that is generated. What I need to do is somehow get the id of the image that is clicked, but right now, I dont see a way to attach an ID to each image.

The ListView is populated from a SQLSource that has the columns ID, UserName, Photo. The item template uses username and photo to display the list, but will not let me set the ID using Eval("fieldName").

What I'm trying to do is: when the user clicks the image, the ID associated with that image is grabbed by JQuery, which opens up another window and uses that ID has part of a querystring. Ex:

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

Here is the jquery I have right now:

<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>

And the listview:

<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>

Any ideas? TIA

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小女人ら 2025-01-15 03:17:58

以同样的方式,你得到的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"))'

In the same way you get the href you can have the id as well

$('.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();
});

As jostster says, you also need to add the id to you image, something like

id='Convert.ToString((int)DataBinder.Eval(item.DataItem, "ID"))'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文