2011-02-17 5 views
2

jQueryシャッフルプラグインに問題があります。それは私のネストされたソート可能なリストを破壊する。一番下には問題を示すデモへのリンクがあります。これについては後述します。jQueryシャッフルプラグインがjQuery-UIソート可能になる

htmlは単純ですが、4つのリスト項目を含む順序付きリストがあります。これらのリスト項目のそれぞれには、2つのリスト項目を含む順不同リストが含まれています。そして、注文リストをシャッフルするためのボタンが下部にあります。 (例えば、私が「アイテムG」の下に「アイテムA」を移動させることができる)

<ol> 
    <li> 
     <ul> 
     <li>Item A</li> 
     <li>Item B</li> 
     </ul> 
    </li> 
    <li> 
     <ul> 
     <li>Item C</li> 
     <li>Item D</li> 
     </ul> 
    </li> 
    <li> 
     <ul> 
     <li>Item E</li> 
     <li>Item F</li> 
     </ul> 
    </li> 
    <li> 
     <ul> 
     <li>Item G</li> 
     <li>Item H</li> 
     </ul> 
    </li> 
    </ol> 
    <button type="button" class="shuffle">Shuffle</button> 

順序付きリストがソート可能であり、また、順不同リストはソート可能と接続されています。ここまでは順調ですね!

$(document).ready(function() { 

    $('ol').sortable({ 
    placeholder: 'dashed' 
    }); 
    $('ul').sortable({ 
    placeholder: 'dashed', 
    connectWith: 'ul' 
    }); 
    $('.shuffle').button().click(function(){ 
    $('ol').shuffle(); 
    }); 

}); 

シャッフルボタンが(ほとんど)私はそれが何を期待し、それは順序付きリスト(順不同ではない!)をシャッフルします。しかし、そのようにして、順序付けされていないソート可能なリストも破棄されます。もはや、私がシャッフルする前に、それが機能している間、要素を移動することはできません。

何か間違っていますか?プラグインにバグはありますか?プラグインに

リンク:問題のデモにhttp://yelotofu.com/labs/jquery/snippets/shuffle/jquery.shuffle.js

リンク:

$(document).ready(function() { 

    $('ol').sortable({ 
    placeholder: 'dashed' 
    }); 
    $('ul').sortable({ 
    placeholder: 'dashed', 
    connectWith: 'ul' 
    }); 
    $('.shuffle').button().click(function(){ 
    $('ul').sortable("destroy"); 
    $('ol').shuffle(); 
    $('ul').sortable({ 
     placeholder: 'dashed', 
     connectWith: 'ul' 
    }); 
    }); 

}); 

ないのはなぜかの確認:http://jsbin.com/umeju6

答えて

0

いくつかのテストの後、私はこれを行うことは働くことが分かりました。それは非常にエレガントな解決策でもありません。

関連する問題