@{
ViewBag.Title = "Easyui_draggable";
Layout = "~/Views/Shared/Layouts.cshtml";
} <style type="text/css">
.products{
overflow:auto;
height:%;
background:#fafafa;
} .products ul{
list-style:none;
margin:;
padding:;
} .products li{
display:inline;
float:left;
margin:10px;
border:1px solid #ff0000;
} .item{
display:block;
text-decoration:none;
} .item img{
width:100px;
height:100px;
} .cart {
height:1000px;
width:300px;
float:right;
} </style>
<script type="text/javascript">
$(function () {
$("#cartcontent").datagrid({
singleSelect:true,//单行选中
showFooter:true//显示页脚
});
}) $(".item").draggable({
revert: true,//如何使true,在拖动的元素会返回到其实位置
proxy: 'clone',//clone时,会复制一个元素
onStartDrag: function () {
$(this).draggable('options').cursor = 'not-allowed';
$(this).draggable('proxy').css('z-index', );
},
onStopDrag: function () {
$(this).draggable('options').cursor = 'move';
}
}); $(".cart").droppable({
onDragEnter: function (e, source) {
$(source).draggable('options').cursor = 'auto';
},
onDragLeave: function (e,source) {
$(source).draggable('options').cursor = 'not-allowed';
},
onDrop: function (e,source) {
var name = $(source).find('p:eq(0)').html();
var price = $(source).find('p:eq(1)').html();
addProduct(name,parseFloat(price.split('RMB')[]));
}
}); function addProduct(name,price) {
var dg = $("#cartcontent");
var data = dg.datagrid('getData');
function add() {
for (var i = ; i < data.total; i++) {
var row = data.rows[i];
if (row.name == name) {
row.quantity += ;
return;
}
}
data.total += ;
data.rows.push({
name: name,
quantity: ,
price:price
});
}
add();
dg.datagrid('loadData', data);
var cost = ;
var rows = dg.datagrid('getRows');
for (var i = ; i < rows.length; i++) {
cost += rows[i].price * rows[i].quantity;
}
dg.datagrid('reloadFooter', [{ name: '总计', price: cost }]);
} </script> <h2>购物车</h2>
<div class="easyui-panel" fit="true" border="false" style="height:100%;overflow:hidden">
<div class="cart">
<div class="ctitle">购物车</div>
<div style="background:#fff">
<table id="cartcontent" fitColumns="true" style="width:250px; height:auto;">
<thead>
<th field="name" width="">商品名称</th>
<th field="quantity" width="">数量</th>
<th field="price" width="">价格</th>
</thead>
</table>
</div>
<div class="ctitle" style="position:absolute;bottom:40px">把商品拖到这里添加到购物车</div>
</div>
<div class="products">
<ul>
<li>
<a href="#" class="item">
<img src="~/Iamge/1.png" />
<div>
<p>气球</p>
<p>价格:RMB25</p>
</div>
</a>
</li>
<li>
<a href="#" class="item">
<img src="~/Iamge/1.png" />
<div>
<p>气球</p>
<p>价格:RMB25</p>
</div>
</a>
</li>
<li>
<a href="#" class="item">
<img src="~/Iamge/2.png" />
<div>
<p>气球</p>
<p>价格:RMB25</p>
</div>
</a>
</li>
<li>
<a href="#" class="item">
<img src="~/Iamge/3.png" />
<div>
<p>气球</p>
<p>价格:RMB25</p>
</div>
</a>
</li>
</ul> </div> </div>

只能作参考,运行不起来。

EasyUI ---- draggable购物车的更多相关文章

  1. EasyUI实现购物车、菜单和窗口栏等最常用的用户界面功能

    一.EasyUI jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用户界面插件. easyui 提供建立现代化的具有交互性的 javascript 应用的必要的功能. 使用 e ...

  2. easyUI draggable组件使用

    easyUI draggable组件使用: <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  3. easyUI拖动购物车案例

    <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...

  4. easyUI draggable插件使用不当,导致拖动div内部文本框无法输入;设置echarts数据为空时就显示空白,不要动画和文字

    先上一个Demo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://ww ...

  5. EasyUI ---- draggable可拖动的用法

    <link href="~/Scripts/easyui1.5/themes/default/easyui.css" rel="stylesheet" / ...

  6. EasyUI - Draggable 拖动控件

    效果: html代码: <div id="box" style="width: 400px; height: 200px; background-color: #f ...

  7. EasyUI Draggable 可拖动

    通过 $.fn.draggable.defaults 重写默认的 defaults. 用法 通过标记创建可拖动(draggable)元素. <div id="dd" clas ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(55)-工作流设计-表单布局

    系列目录 前言:这一节比较有趣.基本纯UI,但是不是很复杂 有了实现表单的打印和更加符合流程表单方式,我们必须自定义布局来适合业务场景打印!我们想要什么效果?看下图 (我们没有布局之前的表单和设置布局 ...

  9. JQuery easyui (1) Draggable(拖动)组件

    很不习惯这种强迫式的学习,但谁叫我不是老师了,所以还是决定坚持练习,顺带为博客加点东西.虽然我还是很反感短时间内惯性的去熟悉一个工具. easyui做为一个封装了JQusey的UI插件,其实还是蛮好用 ...

随机推荐

  1. Pycharm上python3运行unittest无法生成测试报告

    原文地址https://www.cnblogs.com/yoyoketang/p/7523409.html 前言 经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告:为什么别人 ...

  2. PHP 自定义header 参数获取的问题

    有的情况下,我们需要把参数放在Headers 里传递.比如说与提供给移动端的api,不能进行缓存的时候. 但是,自定义的header 经常是拿不到的. 如果是apache 的服务器,可以用 apach ...

  3. #C++初学记录(ACM试题2)

    Max Sum Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-seq ...

  4. Acrobat 无法在本页面上执行OCR识别

    下载的电子书有时不能选中,或作黄色标记,在用acrobat pro作文本识别时,报 Acrobat 无法在本页面上执行OCR识别 解决方法 参照 http://jingyan.baidu.com/ar ...

  5. Object之wait

    一.源码. 1.公共本地,且可继承但不可重写. 2.公共,且可继承但不可重写. 3.公共,且可继承但不可重写. 二.解释. 1.因为这些方法是Object类中的非静态的public方法,而任何其他类都 ...

  6. Filter—过滤器

    过滤器的作用是什么? 1.拦截传入的请求和传出的响应,能拿到请求和响应中的数据 2.监视,修改,或处理正在客户端和服务器之间交换的数据流 3.利用过滤器的执行时机,实现Web程序的预处理,和后期的处 ...

  7. html5<embed>的完整属性

    问题起因:网页中插入Flash,看了代码,然后呢,小小的学习下 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000& ...

  8. Object-C-复制

    copy 减少对象上下文依赖 copy 创建一个新对象,copy得到的副本对象与原来内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化 使用 copy 创建出来的对象是不可 ...

  9. C++矩阵库 Eigen 快速入门

    最近需要用 C++ 做一些数值计算,之前一直采用Matlab 混合编程的方式处理矩阵运算,非常麻烦,直到发现了 Eigen 库,简直相见恨晚,好用哭了. Eigen 是一个基于C++模板的线性代数库, ...

  10. python六剑客:map()、lambda()、filter()、reduce()、推导类表、切片

    一:map():映射 map()有两个参数,一个函数,一个序列,序列中每一个元素都会做为参数传给前边的函数,然后生成新的列表, 第二个参数必须用一个序列:元祖,列表,字符串 >>> ...