CSS
#dropzone {
border: 2px dotted #202020;
width: 98px;
height: 98px;
margin: 3px;
}
.addItem {
background-color: #CFCFCF;
background-image: url("https://placehold.it/200/CFCFCF/000000?text=Add+Item");
background-repeat: no-repeat;
background-position: -50px -50px;
}
あなたの例では、任意のスタイリングが含まれていませんでしたので、ユーザーはどこにアイテムをドラッグして知ることができるかどうかはわかりません。私はいくつかを追加しました。私はビジュアルフィードバックを作成しようと少し追加しましたが、実際にこの質問の範囲には入っていないので、私はあきらめました。
jQueryの
$(function() {
var customerItems = [];
$(".draggable").draggable({
opacity: 0.75,
revert: true,
helper: function() {
var me = $(this);
var par = me.parent();
var item = $("<div>", {
src: $(this).attr("src"),
class: "dragItem"
})
.css({
width: "100px",
height: "100px",
background: "url('" + me.find("img").attr("src") + "') no-repeat"
})
.data({
name: $.trim(par.next().text()),
price: parseFloat($.trim(par.next().next().text()).substring(1))
});
return item;
}
});
$("#dropzone").droppable({
//accept: ".dragItem",
classes: {
"ui-droppable-hover": "acceptItem",
"ui-droppable-active": "ui-state-default"
},
drop: function(e, ui) {
console.log(ui.helper.data());
customerItems.push(ui.helper.data());
var sum = 0,
qnty = customerItems.length;
$.each(customerItems, function(key, item) {
sum += item.price;
});
$("#price").val("$" + sum);
$("#qnty").val(qnty);
}
});
});
あなたは、任意のコード例が含まれていなかったので、私はあなたがしようとしたのか分かりません。基本的に、ドロップはドラッグされたアイテムから詳細を取得します。これらの拘束があると、.val()
メソッドを使用して入力フィールドに追加することができます。
したがって、項目を#dropzone
にドロップすると、フィールドの値が$("#price").val("$" + sum);
に設定されます。
どのようにして価格を取得できますか? ui.draggable
またはui.helper
オブジェクトから取得するのが最も簡単です。ドラッグ可能なアイテムにオブジェクトの詳細を格納する方法はたくさんあります。 data
属性を使用することをおすすめします。
HTMLには、特にdata
属性の詳細は含まれていませんが、テーブル内には、ドラッグ可能なアイテムが選択されて移動されたときにこれらの詳細情報が収集されていなければなりません。以下のようなデータを提示する可能性のより良い方法は、次のようになります。あなたは、ユーザーが1以上、またはそれぞれの一つだけをつかむしたい場合は、それは明らかではありませんので
<div class='draggable' data-name="Item 1" data-price="1.00">
<img src="https://placehold.it/100/FF0000/FFFFFF?text=Item+1">
</div>
、私が表現するhelper
オブジェクトを作ることにしました選択。関数を使用して、私たちのニーズに適合し、後で必要とされるすべてのデータを含むヘルパーオブジェクトを作成することができます。ソースから、さまざまな表のセルから画像、名前、価格を収集できます。
希望に役立ちます。投稿を編集して詳細を追加してください。あなたは質問があればコメントしてください。
既に試したことのあるコードを表示する必要があります。 SOはコード作成サービスではありません。私たちはあなたのためにそれをしません。 – TheValyreanGroup
オハイオ州。そのために残念。私は自分の投稿を編集しました。ありがとう –
@JqueryNewbieこの例でJS/jQueryコードはどこですか? – Twisty