2012-07-13 49 views
0

我正在使用DataTables行重新排序附加組件(http://jquery-datatables-row-reordering.googlecode.com/svn/trunk/index.html),我希望能夠禁用JS中的重新排序。我用類似下面的代碼代碼:禁用jQuery數據表中的行重新排序

if ($(this).attr("checked")) { 
    $("#" + parameters.TableId).dataTable(
       { 
        "bDestroy": true, 
        "bPaginate": false, 
        "bLengthChange": false, 
        "bFilter": false, 
        "bSort": true, 
        "bInfo": false, 
        "bAutoWidth": true 
       }).rowReordering({ sURL: parameters.sURL, iIndexColumn: parameters.iIndexColumn }); 
} else { 
      $("#" + parameters.TableId).dataTable(
       { 
        "bDestroy": true, 
        "bPaginate": false, 
        "bLengthChange": false, 
        "bFilter": false, 
        "bSort": false, 
        "bInfo": false, 
        "bAutoWidth": true 
       });//.rowReordering({ sURL: parameters.sURL, iIndexColumn: parameters.iIndexColumn }); 

,但它不工作(我仍然可以拖放行,但因爲我做了bSort爲false,它不保存排序順序。我想禁用拖放)。我能做什麼?

+0

如果你仍然可以拖放行(功能僅適用with'.rowReordering()',那就表明你的if語句的邏輯是錯誤的,因爲它從來沒有進入別的部分。 – Jeemusu 2012-07-13 13:58:11

+1

等一下,你可以發佈那個'if(){} else {}'語句的開頭嗎? – Jeemusu 2012-07-13 14:00:14

+0

代碼已更新,我也檢查過elese是否被調用,但並不刪除draganddrop(我可以看到它的作用是當其他人被調用,然後沒有排序發生,但拖放發生 – mans 2012-07-13 14:09:09

回答

-1

使用:

$("#your_table_id .ui-sortable").sortable("disable"); - 禁用

$("#your_table_id .ui-sortable").sortable("enable"); - 使

+0

禁用和/或啓用不起作用。 – 2015-02-25 13:01:07

0

挖一點,我發現排序的使用,但禁止略有不同,然後使它之後。

$("tbody", oTable).sortable({"disabled" : true}); 

$("tbody", oTable).sortable("enable");