单击具有相同ID的多个元素,触发js函数

时间:2015-12-23 08:33:53

标签: javascript html gridview onclick

我的ASP网格视图中有很多链接。每个链接都应该通过调用各自的ID来点击它后触发Javascript函数。这是代码:

<script type="text/javascript">
  $(function () {
    $('#LkForgot').on('click', function (e) {
      alert("hi");
    });
  });
</script>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ReportId"CssClass="GridViewStyle">
<asp:TemplateField>
  <ItemTemplate>
    <asp:ImageButton CssClass="Link" ID="IMGDetail" ClientIDMode="Static" runat="server" ImageUrl="~/Img/Detail.png" />
  </ItemTemplate>
</asp:TemplateField>

它们都具有相同的ID,但只有第一个成功激活该功能。我希望每个链接分别触发该功能。

4 个答案:

答案 0 :(得分:0)

<script type="text/javascript">
$(function () {
    $('.Link').on('click', function (e) {
        alert("hi");
    });
});

答案 1 :(得分:0)

我现在不关心asp,但ID应该是唯一的。尝试动态填充ID或尝试使用类。

答案 2 :(得分:0)

您正在使用ID,它应该是唯一的,这就是为什么它只能在一个元素上使用类。您可以将同一个类应用于多个元素。

<script type="text/javascript">
$(function () {
    $('.LkForgot').on('click', function (e) {
        alert("hi");
    });
});

答案 3 :(得分:0)

您必须在元素中标识唯一属性,并将其用作唯一标识符。它并不总是必须是'id'标签。你也可以做这样的事情

$("[ClientIDMode='Static']").bind("click", function(){console.log("clicked") })