2016-04-29 33 views
1

我正在使用jquery和datatables,但卡在某處。我有一個gridview,我正在嘗試做類似警告所選行的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功能頁面的變化。

回答

3

你有一個attribut fnDrawCallback,如:

$(document).ready(function() { 
    $('#example').dataTable({ 
    "fnDrawCallback": function(oSettings) { 
     alert('DataTables has redrawn the table'); 
    } 
    }); 
}); 

該功能被稱爲上每一個「畫」事件,並且允許你動態修改您想了解有關創建DOM任何方面。

Doc:http://legacy.datatables.net/usage/callbacks

相關問題