2013-11-23 97 views
0

我有一個複選框在我的表的副本。如果數據表被重新繪製(通過過濾,搜索,分頁,無論),我想確保這是未經檢查的。取消選中與數據表fnDrawCallback複選框

"fnDrawCallback": function() { 
    $(".checkboxes").uniform(); 
    $(".table-checkbox input[type=checkbox]").attr('checked', false); 
    alert('DataTables has redrawn the table'); 
} 

呼叫統一修復了程式化問題中的數據表...警報只是對每個經過重繪顯示。

沒關係.table-checkbox不在數據表中而是動態的(它明確地在thead的html中)?我只是想確保它在表重繪時總是不被檢查。

編輯:

以下工作...有沒有更好的方法來做到這一點?顯然我需要在thead上打電話給制服來做到這一點。

"fnDrawCallback": function() { 
    $(".table-checkbox input[type=checkbox]").attr('checked', false); 
    $(".checkboxes").uniform(); 
    $(".group-checkable").uniform(); 
    alert('DataTables has redrawn the table'); 
} 

回答

0

在我看來,這是一個普遍的統一問題。在上面你首先通過代碼取消複選框,然後重新生成所有的複選框,這樣他們似乎沒有被代碼選中,但實際上它們只是重新初始化/重新配置'!

看到這個問題(並回答) - >jQuery Uniform Checkbox does not (un)check

如果你需要的唯一的代碼是

fnDrawCallback: function() { 
    $(this).find('thead input[type=checkbox]').removeAttr('checked'); 
    $.uniform.update(); 
} 

如果您使用的排序,你應該在這種情況下,與fnInfoCallback取代fnDrawCallback因爲fnDrawCallback會即使您只點擊複選框也會被解僱!

相關問題