これはおそらく簡単な質問ですが、htmlでドラッグしているものをajax呼び出しからどのように置き換えることができますか?Jquery Sortable and Dragable - ドラッグしたコンテンツをAjaxの結果に置き換えます。
ドラッグ可能なアイテムが「テキスト」アイテム(以下のHTMLスニペットのようなもの)であり、ヘルパーメソッドで「イメージ」を使用するものをドラッグした場合、どのようにドロップできますかどちらかを使用しますが、ajax呼び出しから返されるhtmlを挿入します。
ここで、正しいhtmlを得るためにajax呼び出しに 'input-type'値を使用してbtwを呼び出しますか?
デフォルトの「ドラッグされたアイテム」が挿入されないようにするにはどうすればよいですか?私。私は
は私がdroppable
のように追加する必要はありますか私はreceived
イベント(作品の種類、することができます」のようにsortable
でこれを行うのですか....内のdiv PUTやヘルパーメソッドイメージをしたくありませんイメージを削除しますが、ヘルプメソッドから削除します)??? (私は両方を試していましたが、Ajaxコールが働いていて、データなどを取得しましたが、デフォルトのものが削除されるのを防ぐ方法がわからないので、 '私は'コール...)
$("#desktoplayout").sortable({
receive: function (event, ui) {
$(this).append('<div>html from ajax call</div>'); // kind of works... but the image from the 'helper method' on the 'draggable' is still there.
}
}); // A sortable list of stuff into which things are dragged.
var input-type;
$("#draggableItems .item").draggable({
connectToSortable: "#desktoplayout",
helper: function (event) {
return "<div class='item'><img src='/Images/Header.png' /></div>";
},
start: function (event, ui) {
input-type = $(this).find('.preview').data("input-type");
},
drag: function(e, t) {
},
stop: function(e, t) {
}
});
と
<div id="draggableItems">
<div class="item">
<div class="preview" data-input-type="1">
TEXT
</div>
</div>
</div>
更新
これは私が望んでやっているようだ...やっての正しい方法helper
にremove
を呼び出しているから、この?ここで
receive: function(event, ui) {
ui.helper.remove();
var $this = $(this);
$.get("somewhere", function(data) {
// Note: presume more logic here.....
$($this).append(data);
});
}
また、 'inputType'データを含めるように更新されました:https://jsfiddle.net/Twisty/zh9szubf/4/ – Twisty
さまざまな状態でもう少し詳しい:https://jsfiddle.net/Twisty/zh9szubf/5/ – Twisty
さらにコードをクリーニングし、 'TEXT'とボックス自体をつかむとバグが見つかりました:https://jsfiddle.net/Twisty/zh9szubf/6/ – Twisty