使用jquery在gridview中获取图像按钮的id

时间:2011-08-10 18:54:53

标签: jquery asp.net

我想在更新面板内的gridview内获取图像按钮的ID。

 $("<%# gvLineItems.ClientID %> tr img[id*='ibDelete']").click(function() {
                                                                alert('hi');
                                                                $(this).fadeOut(1000, function() {
                                                                    $(this).remove();
                                                                });       
                                                         });

我想要做的是点击一个删除按钮,我想从网格视图中淡出行,然后完全删除它。

这不是workign,但不会丢失任何错误。 我在$(document).ready()

中有这个

有谁知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

您似乎错误地抓取了控件的客户端ID。试试这个:

$("#" + "<%# gvLineItems.ClientID %> tr").find('#ibDelete').click(...)

编辑:

根据我们在聊天中的讨论:

$(".TempName").click(function() { 
    $(this).closest("tr").fadeOut(10000, function() { 
        $(this).remove(); 
    }); 
});

答案 1 :(得分:1)

首先你有一个小错字 - 从asp脚本片段中删除#,如下所示

$("#" + "<%= gvLineItems.ClientID %> tr img[id*='ibDelete']")

您无法将事件绑定到具有相同ID的元素,即使它位于不同的容器中。

$("<%# gvLineItems.ClientID %> tr img[id*='ibDelete']")

id =“ibDelete”是NO-NO。

只需将其更改为图像上的类定义,然后使用'img [class = lbDelete]'调用它。

最后,当您在页面中的任何位置使用内联脚本时,运算符“#”或“=”在执行的时间和方式方面表示不同的含义。但正如您所指出的,当客户端脚本尝试使用动态生成的内联脚本标记内容时,您将收到错误。

要解决此问题,请将整个脚本标记放入服务器端控件中:

<div runat="server">
    <script type="text/javascript">
        .....
    </script>
</div>

Lemme知道你是否需要帮助,干杯!