2012-01-17 92 views
2

我使用nestedSortable和一段時間,它工作正常,但約1分鐘後使用它打破並不返回整個列表,但只有一部分。 即時通訊使用toArray返回數據返回到PHP腳本,然後填充MySQL,但如果返回的JSON值不是整個列表更新混淆了數據庫。nestedSortable toArray不返回整個集合

有人有這種奇怪的行爲的麻煩,或者我做錯了什麼?

  $('#load').click(function(){ 
      $.get("get_tags.php", function(data){ 
       $("#data").html(data); 
       $('ol.sortable').nestedSortable({ 
        disableNesting: 'no-nest', 
        forcePlaceholderSize: true, 
        handle: 'div', 
        helper: 'clone', 
        items: 'li', 
        maxLevels: 3, 
        opacity: .6, 
        placeholder: 'placeholder', 
        errorClass: 'error', 
        revert: 250, 
        tabSize: 25, 
        tolerance: 'pointer', 
        toleranceElement: '> div', 
        update: function() { 
         list = $(this).nestedSortable('toArray'); 
         $("#result2").html(JSON.stringify(list)); 
         $.post('x.php', { update_sql: 'ok', list: JSON.stringify(list) }, 
          function(data){ 
           $("#result").html(data); 
          }, 
           "html") 
        } 
       }); 
      }); 
     }); 

回答

0

你似乎是使用具有零次單元測試,還未觸碰或更新了8個月的一些jQuery插件。

它是爲jQuery 1.4而構建的,如果你看看代碼,你會發現它很混亂。

您的選項是

  • 調試代碼,看看是否可以修復它。
  • 請勿使用未經測試的第三方插件並自行重寫功能。

基本上你預計你可以從互聯網複製和粘貼一些代碼塊,它只會工作。事實並非如此。

+1

最近一次更新到插件是在2011年5月11日http://mjsarfatti.com/sandbox/nestedSortable/ – NccWarp9 2012-01-17 19:46:09

+0

您是否嘗試過在js函數中使用'relocate'事件而不是'update'? – DOZ 2015-08-06 12:50:01