Javascript 每次在datatable中更改页面时调用函数
我正在使用jquery和datatables,但在某个地方卡住了。我有一个gridview,我正在尝试做一些类似于警告所选行的id的事情。我的onclick事件只适用于第一页的数据,这是可以理解的,因为我只在第一次填充表时调用它。那个么,当页面更改时,我如何使该函数运行呢? 以下是我的gridview:Javascript 每次在datatable中更改页面时调用函数,javascript,jquery,asp.net,gridview,datatables,Javascript,Jquery,Asp.net,Gridview,Datatables,我正在使用jquery和datatables,但在某个地方卡住了。我有一个gridview,我正在尝试做一些类似于警告所选行的id的事情。我的onclick事件只适用于第一页的数据,这是可以理解的,因为我只在第一次填充表时调用它。那个么,当页面更改时,我如何使该函数运行呢? 以下是我的gridview: <asp:GridView ID="GridView1" CssClass="mGrid" runat="server" DataSourceID="EntityDataSource1"
<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);
}
});
}
$(文档).ready(函数(){
$(“#”).prepend($(“”)。append($(this.find($)).dataTable({
“语言”:{
“搜索”:“Ara”,
“Lengthmenus”:“她的sayfada_菜单”kayıt göster,
“信息过滤”:“最大限度地过滤”,
“信息”:“佩奇·萨伊法·阿拉斯·丹·佩奇·萨伊法·格斯特里约尔”,
“分页”:{
“第一”:“İlk”,
“最后”:“儿子”,
“下一步”:“Sonraki”,
“先前”:“Önceki”
}
}
});
SatirlaraOnclickAt();
});
函数SatirlaraOnclickAt(){
$(“#tr”)。单击(函数(){
var ilkSatir=$(“#”).find(“tr:first”).find(“td:first”).text();
var secilenSatir=$(this.find(“td:first”).text();
如果(ilkSatir!=安全性){
var id=$(this.find(“td:first”).text();
警报(id);
}
});
}
正如我所说,函数运行良好,但每次页面更改时我都需要运行onclick函数。您有一个attribute
fnDrawCallback
,例如:
$(document).ready( function() {
$('#example').dataTable( {
"fnDrawCallback": function( oSettings ) {
alert( 'DataTables has redrawn the table' );
}
} );
} );
此函数在每次“绘制”事件时调用,并允许您动态修改所创建DOM的任何方面
Doc:您有一个属性
fnDrawCallback
,如:
$(document).ready( function() {
$('#example').dataTable( {
"fnDrawCallback": function( oSettings ) {
alert( 'DataTables has redrawn the table' );
}
} );
} );
此函数在每次“绘制”事件时调用,并允许您动态修改所创建DOM的任何方面
文件: