2013-06-27 9 views
5

'da sıralamaya çalışırken özel bir olayı tetiklemek istiyorsanız Kullanıcı sıralamak için bir sütun başlığına tıkladığında kendi etkinliğimi kullanmak istiyorum. Ben sıralamak istemiyorum. Araştırma yapıyorum ve bunu yapmak için iyi bir yol görmüyorum.Datatables

Kendi türümü yapmak için sıralama olayına bağlanabilirim, ancak sıralama hala gerçekleşiyor. Bunu istemiyorum. Sıralamayı devre dışı bırakırsam, sıralama olayı hiç bitmez, bu da işe yaramıyor.

Sıralamayı devre dışı bırakabilirim ve sonra üstbilgideki tıklama olaylarını yakalamaya çalışabilirim, ancak bunu yapmanın daha iyi bir yolu olacağını umuyordum. Herhangi bir fikri olan var mı?

cevap

11

Çok kolay. Click.DT işleyicisini sadece açın ve kendiniz ekleyin. Sıralamayı devre dışı bırakmak zorunda değilsiniz.

örnek

<table id="example"> 
<thead> 
    <th id="id">ID</th> 
    <th id="username">Username</th> 
</thead> 
<tbody> 
    <tr><td>1</td><td>A test</td></tr> 
    <tr><td>2</td><td>B test</td></tr> 
    </tbody>  
</table> 

javascript

$(document).ready(function(){ 
    //init datatables 
    var table = $('#example').dataTable(); 

    //unbind sort event, prevent sorting when header is clicked 
    $('#example th').unbind('click.DT'); 

    //create your own click handler for the header 
    $('#example th').click(function(e) { 
     alert('Header '+$(this).attr('id')+' clicked'); 
     //here you can trigger a custom event 
    }); 

    //if you afterwards want to restablish sorting triggered by a click event 
    //here header "username" from example above 
    table.fnSortListener(document.getElementById('username'), 1); 
}); 

Not: datatables hiçbir özel "sort" -Olay yoktur. Allan Jardine, gelecekteki bir sürüm 2'ye gelebileceğinden bahsetmektedir. http://datatables.net/forums/discussion/5141/capturing-sort-event-on-table-heading/p1

+0

Açma işlemi çalışmıyor. Hala sıralama. – user1652427

+0

hmm. Hangi veri kümelerini kullanıyorsunuz? Burada çalıştı, 1.9.xx – davidkonrad

+0

Ne kadar komik, sürüm özel olmalıdır. '.unbind ('...')' i kullanmak benim için harika çalışıyor. Ancak, 'fnSortListener (…' kullanarak), sıralamayı sütuna yeniden göndermiyor. –