2012-01-18 5 views
0

私はこれを1.8.6でUIを使っていましたが、this hackを使っていましたが、1.8.17で動作するようです。jQuery UI sortables - 落とした項目のハンドルを取得

  • リストから項目をソート可能にドラッグしたいと考えています。
  • アイテムはドロップ後もソースリストに残るはずです(したがって、n回追加できます)
  • アイテムをソート可能にドロップすると、ソート可能なアイテムのインスタンスのハンドルを取得したい。ソート可能なの受信方法で

receive: function(e, ui){ 
    // ui.item is the original dragged item, not the clone that gets created when dropped 
    // ui.helper is a separate clone of the dragged item, it does not get inserted into the sortable 
} 

ので質問は、私が挿入された項目のハンドルを得るのですか、ですか?受信が呼び出されるまでにアイテムが挿入(または作成)されていないようです。 jquery UIに変更が加えられたか、何か不足していますか?意地の悪いしかし、トリックを行っているように見えるこの

_uiHash: function(inst) { 
    var self = inst || this; 
    return { 
     helper: self.helper, 
     placeholder: self.placeholder || $([]), 
     position: self.position, 
     originalPosition: self.originalPosition, 
     offset: self.positionAbs, 
     item: this.fromOutside ? this.currentItem : self.currentItem, 
     sender: inst ? inst.element : null 
    }; 
} 

でこれ

_uiHash: function(inst) { 
    var self = inst || this; 
    return { 
     helper: self.helper, 
     placeholder: self.placeholder || $([]), 
     position: self.position, 
     originalPosition: self.originalPosition, 
     offset: self.positionAbs, 
     item: self.currentItem, 
     sender: inst ? inst.element : null 
    }; 
} 

を交換

$('form').sortable({ 
    placeholder: "placeholder", 
    forcePlaceholderSize: true, 
    receive: function (ev, ui) { 
     // need handle on dropped item here. ui.item and ui.helper are not it 
    } 
}); 


$('.draggableTings').draggable({ 
    helper: "clone" 
    , appendTo: "body" 
    , revert: "invalid" 
    , connectToSortable: "form" 
}); 

おかげ

答えて

0

は、ここに私のコードです。おそらく偽の証拠ではない

関連する問題