отключение переупорядочения строк в jquery datatable

Я использую надстройку для переупорядочения строк DataTables (http://jquery-datatables-row-reordering.googlecode.com/svn/trunk/index.html), и я хочу иметь возможность отключить переупорядочение в JS. Я использовал код, похожий на следующий код:

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, порядок сортировки не сохраняется. Я хочу отключить перетаскивание). Что я могу сделать?


person mans    schedule 13.07.2012    source источник
comment
Если вы все еще можете перетаскивать строки (функция доступна только с .rowReordering() , это означает, что ваша логика в операторе if неверна, потому что она никогда не входит в раздел else.   -  person Jeemusu    schedule 13.07.2012
comment
Подождите, вы можете опубликовать начало этого оператора if() {} else {}?   -  person Jeemusu    schedule 13.07.2012
comment
Код обновлен. Также я проверил, и elese вызывается, но не удаляет перетаскивание (я вижу эффект, когда вызывается else, тогда сортировка не происходит, но происходит перетаскивание.   -  person mans    schedule 13.07.2012
comment
Установлен ли флажок по умолчанию при загрузке страницы?   -  person Jeemusu    schedule 13.07.2012
comment
Да, но я могу изменить его на не проверено, если это поможет!   -  person mans    schedule 13.07.2012
comment
Попробуйте, первая таблица данных может кэшироваться. Если это так, поведение должно измениться (невозможно перетаскивать элементы, когда флажок установлен после загрузки страницы).   -  person Jeemusu    schedule 13.07.2012
comment
Причина, по которой я делаю это в JS, заключается в том, чтобы не делать пост назад.   -  person mans    schedule 13.07.2012


Ответы (2)


Немного покопавшись, я обнаружил, что используется сортировка, но ее отключение немного отличается от включения.

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

$("tbody", oTable).sortable( "enable" );
person drewex    schedule 30.06.2015

использовать:

$("#your_table_id .ui-sortable" ).sortable("disable"); - отключить

$("#your_table_id .ui-sortable" ).sortable("enable"); - включить

person Samir Ait    schedule 23.01.2015