2015-04-17 1 views
0

У меня есть следующий JQuery (Ui) код:Как «внедрить» переменную в анонимную функцию

function initSortable() { 
    var placeholderClass = "ui-state-highlight"; 
    var movement; /* = {'id': 0, 'from': 0, 'to': 0};*/ 
    setPlaceholderClassHeight(placeholderClass); 
    $(".listTable td").each(function() { 
     $(this).css("width", $(this).width()); 
    }); 
    $('.listTable tbody').sortable({ 
     placeholder: placeholderClass, 
     forcePlaceholderSize: true, 
     axis: "y", 
     cursor: "grab", 
     opacity: 0.8, 
     start: function (event, ui) { 
      ui.item.toggleClass("highlight"); 
      movement.id = ui.item.data('id'); 
      movement.from = ui.item.data('id'); 
      console.log(ui.item.index()); 
      console.log(ui.item.data('id')); 
     }, 
     stop: function (event, ui) { 
      ui.item.toggleClass("highlight"); 
     }, 
     update: function (event, ui) { 
      console.log(ui.item.index()); 
      movement.to = ui.item.index(); 
      console.log(movement); 
     } 
    }); 
} 

он не работает, как movement неизвестно функций, назначенных для запуска/остановки/обновления. Как использовать и изменять переменную перемещения?

+2

'движение' объявлен в нужном месте и он должен обновиться. Он не обновляется, потому что это 'undefined'. Объявите 'var movement = {}' и проверьте –

+0

thx, он работает !! – jeff

+0

Перемещает это к ответам :) –

ответ

3

movement заявлен в нужном месте, и он должен обновиться. Он не обновляется, потому что это undefined. Объявите var movement = {} и проверьте