2010-12-26 15 views
1

私は 'Connect list trough tabs'デモで作業しています。コードを少し修正しました。私はタブ-1タブ-2の要素に 'foo'クラスを追加しました。jQueryUIとソート可能なイベントの問題

$(".foo ul").sortable({ 
    stop: function (event, ui) { 
      var tabId = $(this).attr('id'); 
      var elementIndex = ui.item.index(); 
      alert('tab id: ' + tabId + ' | element index: ' + elementIndex); 
}}); 

私は同じタブ内の要素のソート順を変更するときには、超正常に動作しますが、私は2番目のタブに最初のタブから要素をドロップすると、私は問題を抱えている(: は、私はまた、次のスクリプトを追加しました要素が最初にtab1の最初の位置(タブid = sortable1、要素インデックス= 0)に配置され、その後に最後の位置の2番目のタブにドロップされるためです。問題はソート可能なイベントが2回目に発生しないためです。

私は何かが分かっていませんが、何か分かりません:)
助けていただければ幸いです。

ありがとうございました!

EDIT:

デモは、次のリンクを見つけることができます:http://jqueryui.com/demos/sortable/#connect-lists-through-tabs

答えて

1

あなたがこれに対する答えを見つけましたか?私は現在同じ問題を抱えているので、その周りにはさまざまな方法を試していますが、それまでは成功していません。

EDIT

スクラッチすることは、ちょうど私が解決するための最も効率的な方法だと思うものを発見しました。あなたが使用している<ul>リストクラスにイベント「DOMNodeInserted」を結合し、あなたは現在のDOM位置検索してリスト項目をテストすることができます。私のこの例では

$(".connectedSortable").bind("DOMNodeInserted", function() { 
$('#tabs').find('li#staff-'+currentStaffId).each(function() { 
listDeptID = $(this).parent().parent().attr('id'); 
listDeptID = listDeptID.split('-'); 
listDeptID = listDeptID[1]; 
.... 

を、私は私のリスト項目を持っていますstaff-xのidにスタッフのidを指定すると、findは1つの配列要素を返し、かなり効率的に実行されます。

HTH

Jester。

関連する問題