我試圖用expand/collapse功能實現嵌套的gridview。我的問題是,jQuery點擊功能不起作用。該方案如下:JQuery .on()方法無法與圖像點擊
的jQuery:
$("[src*=plus]").on("click", "img", function() {
alert('hi');
$(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
$(this).attr("src", "images/minus.png");
});
$("[src*=minus]").on("click", "img", function() {
$(this).attr("src", "images/plus.png");
$(this).closest("tr").next().remove();
});
GRIDVIEW:
<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="false"
DataKeyNames="Id" OnRowDataBound="OnRowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<img alt = "" style="cursor: pointer" src="images/plus.png" />
<asp:Panel ID="pnlOrders" runat="server" Style="display: none">
<asp:GridView ID="gvOrders" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField ItemStyle-Width="150px" DataField="Id" HeaderText="Order Id" />
<asp:BoundField ItemStyle-Width="150px" DataField="Policy" HeaderText="Date" />
</Columns>
</asp:GridView>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField ItemStyle-Width="150px" DataField="Id" HeaderText="Contact Name" />
<asp:BoundField ItemStyle-Width="150px" DataField="Name" HeaderText="City" />
</Columns>
</asp:GridView>
現在,如果我改變了。對()方法與.live()方法,那麼它的工作原理正好。你們中的任何一位jQuery精明的人都知道我做錯了什麼。謝謝!
'.live()'方法僅適用於舊的圖書館,即'的jQuery 1.7 version'和'。對()'在1.7以上版本的詳細文章作品https://codepedia.info/ click-event-for-dynamic-button-jquery/ –