1
jqueryとdatatablesを使用していますが、どこかでスタックしています。グリッドビューがあり、選択した行のIDに警告するようにしています。私のonclickイベントは、最初のページのデータに対してのみ機能し、テーブルが最初に入力されたときにのみ呼び出すため、理解できるものです。どうすればページが変更されたときにその機能を実行させることができますか?ここで は私のGridViewのである:データテーブルでページが変更されるたびに関数を呼び出す
<asp:GridView ID="GridView1" CssClass="mGrid" runat="server" DataSourceID="EntityDataSource1" AutoGenerateColumns="False" DataKeyNames="UrunId">
<Columns>
<asp:TemplateField ItemStyle-CssClass="hiddenTr" FooterStyle-CssClass="hiddenTr" HeaderStyle-CssClass="hiddenTr">
<ItemTemplate>
<%#Eval("UrunId") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="İsim">
<ItemTemplate>
<%#Eval("UrunAdi") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fiyat">
<ItemTemplate>
<%#Eval("UrunFiyati") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Para Birimi">
<ItemTemplate>
<%#Eval("ParaTipi") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Kategori">
<ItemTemplate>
<%#Eval("UrunKategori") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sınıf">
<ItemTemplate>
<%#Eval("MP") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
そして、私のjQuery:
$(document).ready(function() {
$("#<%=GridView1.ClientID%>").prepend($("<thead></thead>").append($(this).find("tr:first"))).dataTable({
"language": {
"search": "Ara",
"lengthMenu": "Her sayfada _MENU_ kayıt göster.",
"infoFiltered": "_MAX_ kayıt arasından filtrelendi.",
"info": "_PAGES_ sayfa arasıdan _PAGE_.sayfa gösteriliyor.",
"paginate": {
"first": "İlk",
"last": "Son",
"next": "Sonraki",
"previous": "Önceki"
}
}
});
SatirlaraOnclickAt();
});
function SatirlaraOnclickAt() {
$("#<%=GridView1.ClientID%> tr").click(function() {
var ilkSatir = $("#<%=GridView1.ClientID%>").find("tr:first").find("td:first").text();
var secilenSatir = $(this).find("td:first").text();
if (ilkSatir != secilenSatir) {
var id = $(this).find("td:first").text();
alert(id);
}
});
}
私が言ったように、機能がうまく動作しますが、私はonclickのページが変更されるたびに機能を実行する必要があります。