Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Нужна помощь по плагину sortable
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Нужна помощь по плагину sortable

Страниц (1): [1]
 

1. alnik-75 - 24 Августа, 2016 - 21:15:34 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(function(){
  3.     $("#sortableList").sortable({
  4.         opacity:0.5,
  5.         update:function(){
  6.                 if($("#managerBar").is(":hidden"))$("#managerBar").fadeIn(300);
  7.                 $('#saveSortableList').on('click',function(){
  8.                         ----------------------------
  9.                         var order=$('#sortableList').sortable("toArray");
  10.                         ----------------------------
  11.                        for(var i=0;i<order.length;i++){
  12.                            mainObject.params['order'][order[i]]=i+1;
  13.                        }
  14.                         ------------------------------
  15.                 });
  16.                 $('#cancelSortable').on('click',function(){
  17.                         $('#sortableList').sortable("cancel");
  18.                 });
  19.         }
  20.    });
  21. });
  22.  
  23.  


при первом перемещении элемента сортируемого списка скрипт отрабатывает хорошо.
При повтором перемещении любого элемента в консоли вылетает ошибка

jquery-3.1.0.min.js:2 Uncaught Error: cannot call methods on sortable prior to initialization; attempted to call method 'toArray'

не удается вызвать методы на сортировку до инициализации; попытку вызвать метод 'метод toarray'

уважаемые форумчане!

Помогите разобраться с этой проблемой
2. Fart - 25 Августа, 2016 - 00:23:06 - перейти к сообщению
1. опиши какая ui jquery для sortable
2. html теги, с которыми работаешь для наглядности.
3. alnik-75 - 25 Августа, 2016 - 08:07:22 - перейти к сообщению
Fart пишет:
1. опиши какая ui jquery для sortable
2. html теги, с которыми работаешь для наглядности.

ui минимальная. содержит все необходимые только для sortable компоненты.

Сортируемый список это form. элементы - это div'ы с инпутами, чекбоксами и т.д.
4. alnik-75 - 26 Августа, 2016 - 19:58:28 - перейти к сообщению
Товарищи! Неужели никто не знаком достаточно близки с данным плагином?

Мне бы понять смысл сообщения об ошибке хотя бы!!!!

Получается, что вызывается метод до инициализации чего то........ самого плагина что ли? почему такое происходит?
5. andrewkard - 27 Августа, 2016 - 00:33:24 - перейти к сообщению
Судя по всему да, инициализация еще не завершена, по этому вызвать внутри такой метод нельзя, откуда пример?
В сети советуют так, попробуйте
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var sortable_list = $('#sortable1');
  3.  
  4. sortable_list.sortable({
  5.   ...
  6.   update: function(event, ui){
  7.     var order = sortable_list.sortable('serialize');
  8.     console.log(order);
  9.   }
  10. });
  11.  

(Добавление)
Хотя не знаю, может и не поможет...
6. alnik-75 - 27 Августа, 2016 - 17:14:31 - перейти к сообщению
обнаружил одну прикольную вещь. в 7 строке приведенного вода есть функци я , вызываемая по нажатию кнопки $('#saveSortableList').on('click',function(){.......

После первого перемещения одного из элементов сортируемого списка она, т.е. функция отрабатывет один раз. При втором -два и т.д.

Объясните, пожалуйста, эту штуковину. может в этом загвоздка?
7. andrewkard - 28 Августа, 2016 - 19:24:25 - перейти к сообщению
alnik-75 пишет:
$('#saveSortableList').on('click'

навешивается обработчик второй раз, вот она и отрабатывает дважды.
8. alnik-75 - 28 Августа, 2016 - 20:06:01 - перейти к сообщению
andrewkard пишет:
alnik-75 пишет:
$('#saveSortableList').on('click'

навешивается обработчик второй раз, вот она и отрабатывает дважды.

логичен вопрос, как отменить повторную отработку? Делать проверку состояния, изменяя значение переменной, отвечающей за это? process = 0, на, например, 1?

 

Powered by ExBB FM 1.0 RC1