simpleCart的功能就不用解释,购物车,很6.官网上的说明太模糊了,还是GIHUb上的好一点:https://github.com/wojodesign/simplecart-js/

文章解决问题:在simpleCatrt的基础上添加一个列名,并实现增删改查。

文章的思路是:1.添加列名 2.给列名赋值 3.显示列名 4.提交列名

1.了解其列表显示的规则

这个地方的数据来中:simplecart.js这个文件里面

    cartColumns: [
{ attr: "name", label: "Name" },
{ attr: "image", label: "image" }, //添加一个image属性
{ attr: "price", label: "Price", view: "currency" },
{ view: "decrement", label: !1 },
{ attr: "quantity", label: "Qty" },
{ view: "increment", label: !1 },
{ attr: "total", label: "SubTotal", view: "currency" },
{ view: "remove", text: "Remove", label: !1 }
]

①.{ attr: "name" , label: "Name" } ,每一列代表一个字段,在这里配了在前台就是使用 class="item_name",才能在添加的使用将数据放入对象中

②.{ view: "increment" , label: false , text: "+" } 也有一些建在“视图”,将创建一个专栏。例如,一个“+”的观点:

③.这里面的数据代表前台能使用的字段名。比如

2.了解simpleCart的取值规则

                    <div class="col-md1 simpleCart_shelfItem"> //理解为,实例item化对象
<a href="single.html" >
<img class="img-responsive item_image" src="data:images/pi5.png" alt="" />//添加item.image ,点击item_add 字段会添加到单前对象中
</a>
<h3><a href="single.html" class="item_name">T-Shirt</a></h3> //添加 item.name
<div class="price">
<h5 class="item_price">$</h5> //添加 item.price
<a href="#" class="item_add">Add To Cart</a>
<div class="clearfix"> </div>
</div>
</div>

①.使用simplecart的时候最外层必须先实现 class="simpleCart_shelfItem"。用面向对象很好理解,先实力化一个模型,然后赋值给每个字段值。

②.item_{name} 相当于赋值的字段,而name的定义请看1的显示规则。

3.前台显示

            <div class="simpleCart_items">
<!--数据加载前显示的内容 开始-->
<div style="text-align: center;">
购物车数据加载中...请稍待.
</div>
<!--数据加载前显示的内容 结束-->
</div>

z注意:但是最好在购物车的界面重新重新定义一下显示列:simpleCart.cartColumns 因为在Js里面默认显示如1一样,英文显示

在购物车html页面重新实例化一下:

            <script type="text/javascript">
simpleCart({
//Setting the Cart Columns for the sidebar cart display.
cartColumns: [
{ attr: "image", label: "图片展示", view: "image" },
//Name of the item
{ attr: "name", label: "商品名称" },
//Quantity displayed as an input
{ attr: "quantity", label: "数量", view: "input" },
//Built in view for a remove link
{ view: "remove", label: "操作", text: "移除", label: "操作" },
//Price of item
{ attr: "price", label: "单价" },
//Subtotal of that row (quantity of that item * the price)
{ attr: "total", label: "小计", view: "currency" }
]
});
</script>

3.数据传送问题

数据的显示和增加都解决了,然后数据怎么传输出去了?官方的那个方法可能基础太差,我只需要简单的post提交,所以自己重写了

                var checkOut = function () {
var id = "";//Id编号
var price = "";//价格
var quantity = "";//数量
var url = "/checkout.aspx?optype=shop";
simpleCart.each(function (item) {
id += item.get("pid") + ",";
price += item.get("price") + ",";
quantity += item.get("quantity") + ",";
})
$.post(url, { id: id, price: price, quantity: quantity }, function (data) {
if (data == ) {
alert("您下单成功");
simpleCart.empty();
}
else {
alert("下单失败,请稍后再试");
}
})
};

这样只后台的数据就是:1,2,3,4,5,的形式,到后台解析下就好了:

            string[] id = baseOpen.requesStr("id").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

5总结

技术摆在这里,能写这么多,要更加努力。

simpleCart让我理解的代码模块化,不要制造同样的轮子,你要理解的是他的构造。为什么我写了这么多东西,但是写网站又要重新写?因为没有标准化。

1.bootstrap 这套框架好在,标准化了样式,样式做到了很好。我们只需要记住基本类名,就能在所有项目中调用。

2.simpleCart的思路我更加佩服,将类名动态化。在前台使用新的字段,我们在.js里面只需要加入字段。以空间换时间,这种代码,换到哪里都能直接使用。

simpleCart的简单使用及配置的更多相关文章

  1. 一个简单的零配置命令行HTTP服务器

    http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不想重复的写 nodeJs 的 web-server.js, 则可以使用这个. 安装 (全局安装加 -g) ...

  2. 一个简单的零配置命令行HTTP服务器 - http-server (nodeJs)

    http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不想重复的写 nodeJs 的 web-server.js, 则可以使用这个. 安装 (全局安装加 -g) ...

  3. 简单几步配置gitlab

    简单几步配置gitlab 之前配置gitlab需要很多步骤,要装apache2.ruby.tomcat.mysql等一片东西.有没有更简单的方式呢?现在可以借助bitnami,简化了很多. 可以参考v ...

  4. Spring简单的文件配置

    Spring简单的文件配置 “计应134(实验班) 凌豪” 一.Spring文件配置 spring至关重要的一环就是装配,即配置文件的编写,接下来我按刚才实际过程中一步步简单讲解. 首先,要在web. ...

  5. Redhat 简单本地yum 配置

    Redhat 简单本地yum 配置 一.将redhat 系统的镜像挂载到系统上 Vmware Workstion 环境下: [虚拟机设置]--[硬件]--[CD/DVD]--[使用ISO映像文件]-- ...

  6. Spring Boot 揭秘与实战 自己实现一个简单的自动配置模块

    文章目录 1. 实战的开端 – Maven搭建 2. 参数的配置 - 属性参数类 3. 真的很简单 - 简单的服务类 4. 自动配置的核心 - 自动配置类 5. spring.factories 不要 ...

  7. Spring Boot项目简单上手+swagger配置+项目发布(可能是史上最详细的)

    Spring Boot项目简单上手+swagger配置 1.项目实践 项目结构图 项目整体分为四部分:1.source code 2.sql-mapper 3.application.properti ...

  8. maven pom文件简单模板和配置详解

    https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解

  9. 简单安装与配置mysql数据库(绿色版)

    目录 绿色版下载 mysql绿色版(5.7版本的安装与配置) 绿色版下载: mysql官网下载地址:https://www.oracle.com/index.html mysql绿色版(5.7版本的安 ...

随机推荐

  1. JDK源码分析:hashCode()方法

    提问: 1.hashCode()源码是怎么实现的. 2.hashCode()是为了配合基于散列的集合而设计的 3.hash数据结构,如何做到存取的时间复杂度为O(1)的.{函数算>逐个比较} 答 ...

  2. Spark on Yarn 学习(一)

    最近看到明风的关于数据挖掘平台下实用Spark和Yarn来做推荐的PPT,感觉很赞,现在基于大数据和快速计算方面技术的发展很快,随着Apache基金会上发布的一个个项目,感觉真的新技术将会不断出现在大 ...

  3. 网页端实现input数字输入框

    实现input输入框只能输入数字的效果: <input type="text" name="" id="phoneNum" value ...

  4. ABAP使用OLE2对象创建EXCEL文件

    厌倦了总是下载一模一样的EXCEL文档?没有颜色,边框,有效性验证.... 让我们看看怎样用OLE2对象来创造可爱的EXCEL工作表吧!(效果如下) 首先你需要知道微软EXCEL中的不同部分的名称,每 ...

  5. SharePoint Framework:下一代开发方式

    SharePoint Framework(SPFx),是页面 和Webpart的模型,完全支持本地开发(即完全可以脱离SharPoint环境在本地进行开发),听起来是不是很高级呢,早期SharePoi ...

  6. iOS之自定义pickerview(行驶里程数)

    #pragma mark -- 里程数按钮的点击事件 - (void)mileageBtnClicked:(UIButton *)sender { UIAlertController *alert = ...

  7. SDWebImage添加header

    title: SDWebImage添加headerdate: 2016-03-07 17:32:57tags: SDWebImagecategories: IOS keywords: SDWebIma ...

  8. 学习ES6生成器(Generator)

    背景 在JS的使用场景中,异步操作的处理是一个不可回避的问题,如果不做任何抽象.组织,只是“跟着感觉走”,那么面对“按顺序发起3个ajax请求”的需求,很容易就能写出如下代码(假设已引入jQuery) ...

  9. 深入浅出React Native 3: 从零开始写一个Hello World

    这是深入浅出React Native的第三篇文章. 1. 环境配置 2. 我的第一个应用 将index.ios.js中的代码全部删掉,为什么要删掉呢?因为我们准备从零开始写一个应用~学习技术最好的方式 ...

  10. Cucumber测试驱动开发

     Cucumber是一种BDD实践开发工具,属于敏捷开发的组成部分.      在敏捷开发中,对用户进行需求分析时,不是像传统的P&D的开发方式,首先编写大量的用户需求分析文档,而是通过一个个 ...