我的HTML代码是
<div id="products">
<div class="ui-widget-content">
<ul>
<li data-id="1" class = "credit"> 10000$ </li>
<li data-id="2"class = "credit"> 5000$ </li>
<li data-id="3" class = "credit"> 10000$ </li>
<li data-id="4" class = "credit"> 5000$ </li>
</ul>
</div>
</div>
<table width:100%>
<tr><td>
<h3 class="ui-widget-header">Yahoo</h3>
<table border=1 width=100%>
<tr>
<td><div id="shoppingCart1" class="shoppingCart">
<h7 class="ui-widget-header">Number 1</h7>
<div class="ui-widget-content">
<ol>
<li class="placeholder">Add your items here</li>
</ol>
</div>
</div>
</td>
</tr>
</table>
</td><td>
<h3 class="ui-widget-header">Yahoo</h3>
<table border=1 width=100%>
<tr>
<td><div id="shoppingCart1" class="shoppingCart">
<h7 class="ui-widget-header">Number 2</h7>
<div class="ui-widget-content">
<ol>
<li class="placeholder">Add your items here</li>
</ol>
</div>
</div>
</td>
</tr>
</table>
</td></tr></table>
我的js代码是
$("#products li").draggable({
appendTo: "body",
helper: "clone"
});
$("#shoppingCart1 ol").droppable({
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
accept:".credit",
drop: function(event, ui) {
var self = $(this);
self.find(".placeholder").remove();
var productid = ui.draggable.attr("data-id");
if (self.find("[data-id=" + productid + "]").length) return;
$("<li></li>", {
"text": ui.draggable.text(),
"data-id": productid
}).appendTo(this);
// To remove item from other shopping chart do this
var cartid = self.closest('.shoppingCart').attr('id');
$(".shoppingCart:not(#"+cartid+") [data-id="+productid+"]").remove();
}
}).sortable({
items: "li:not(.placeholder)",
sort: function() {
$(this).removeClass("ui-state-default");
}
});
$("#shoppingCart2 ol").droppable({
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
accept:".debit",
drop: function(event, ui) {
var self = $(this);
self.find(".placeholder").remove();
var productid = ui.draggable.attr("data-id");
if (self.find("[data-id=" + productid + "]").length) return;
$("<li></li>", {
"text": ui.draggable.text(),
"data-id": productid
}).appendTo(this);
// To remove item from other shopping chart do this
var cartid = self.closest('.shoppingCart').attr('id');
$(".shoppingCart:not(#"+cartid+") [data-id="+productid+"]").remove();
}
}).sortable({
items: "li:not(.placeholder)",
sort: function() {
$(this).removeClass("ui-state-default");
}
});
现在你也可以在这里看到演示 - http://jsfiddle.net/Sanjayrathod/5DMru/
我想要的是,如果我将项目拖放到1号框中,稍后我将项目拖放到2号框中,现在将项目放入相应的数字框后我想得到总数/相应方框的总和值,并比较各方框的总和值,即将数字框1的总和与数字框2的总和进行比较
答案 0 :(得分:1)
您只需遍历两个方框中的每个li
并总结其值:
var amount1 = 0;
$("#shoppingCart1 ol").find('li').each(function () {
amount1 += parseInt($(this).text());
});
var amount2 = 0;
$("#shoppingCart2 ol").find('li').each(function () {
amount2 += parseInt($(this).text());
});
if(amount1 > amount2) { // the value in the first box is greater than in the second
//TODO notify user
} else if (amount1 < amount2) { // the value in the first box is less than in the second
//TODO notify user
} else { // // the value in the first box is equal to the second
//TODO notify user
}
添加值后,在每个可放置的句柄中执行此操作。 我更新了你的小提琴:see here。
顺便说一句,你的代码中有一个拼写错误:这两个框的标识为shoppingCart1
,而不是标识为shoppingCart2
的第二个框。