angularJS: shop chart
<!DOCTYPE html>
<
html
ng-app
=
"app"
>
<
head
>
<
meta
charset
=
"utf-8"
>
<
link
href
=
"http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css"
rel
=
"stylesheet"
>
<
style
type
=
"text/css"
>
body {
font-family: "Arial", "Microsoft YaHei", "黑体", "宋体", sans-serif;
}
</
style
>
</
head
>
<
body
>
<
div
class
=
"container"
ng-controller
=
"firstController"
>
<
table
class
=
"table"
>
<
thead
>
<
tr
>
<
th
>产品编号</
th
>
<
th
>产品名称</
th
>
<
th
>购买数量</
th
>
<
th
>产品单价</
th
>
<
th
>产品总价</
th
>
<
th
>操作</
th
>
</
tr
>
</
thead
>
<
tbody
>
<
tr
ng-repeat
=
"item in Product"
>
<
td
>{{item.id}}</
td
>
<
td
>{{item.name}}</
td
>
<
td
>
<
button
type
=
"button"
class
=
"btn"
ng-click
=
"reduce($index)"
>-</
button
>
<
input
type
=
"text"
name
=
""
value
=
""
placeholder
=
""
ng-model
=
"item.quantity"
>
<
button
type
=
"button"
class
=
"btn"
ng-click
=
"add($index)"
>+</
button
>
</
td
>
<
td
>{{item.price}}</
td
>
<
td
>{{item.quantity*item.price}}</
td
>
<
td
>
<
button
type
=
"button"
class
=
"btn btn-danger"
ng-click
=
"remove($index)"
>移除</
button
>
</
td
>
</
tr
>
<
tr
>
<
td
>总价格:{{totalPrice()}} 元</
td
>
<
td
colspan
=
"4"
>总购买数:{{totalQuantity()}}</
td
>
<
td
>
<
button
type
=
"button"
class
=
"btn btn-danger"
ng-click
=
"removeall()"
>清空购物车</
button
>
</
td
>
</
tr
>
</
tbody
>
</
table
>
</
div
>
<
script
src
=
"http://cdn.bootcss.com/angular.js/1.4.0-rc.2/angular.min.js"
></
script
>
<
script
type
=
"text/javascript"
>
angular.module('app', []).controller('firstController',
function($scope) {
$scope.Product = [{
id: 1000,
name: "iPhone 6 Plus",
quantity: 1,
price: 6888
}, {
id: 1001,
name: "iPhone 6",
quantity: 1,
price: 5288
}, {
id: 1002,
name: "iPhone 5s",
quantity: 1,
price: 4188
}, {
id: 1003,
name: "iPhone 5c",
quantity: 1,
price: 3288
}];
$scope.totalPrice = function() {
var total = 0;
angular.forEach($scope.Product, function(item) {
total += item.quantity * item.price;
});
return total;
}
$scope.totalQuantity = function() {
var total = 0;
angular.forEach($scope.Product, function(item) {
total += parseInt(item.quantity);
});
return total;
}
$scope.remove = function(index) {
$scope.Product.splice(index, 1);
}
$scope.removeall = function() {
var index;
for (index = $scope.Product.length - 1; index >= 0; index--) {
$scope.remove(index);
}
}
$scope.reduce = function(index) {
if ($scope.Product[index].quantity != 1) {
$scope.Product[index].quantity--;
} else {
var ans = confirm("是否移除该产品?");
if (ans) {
$scope.remove(index);
} else {
$scope.Product[index].quantity = 1;
}
}
}
$scope.add = function(index) {
$scope.Product[index].quantity++;
}
$scope.$watch('Product', function(newValue, oldValue) {
angular.forEach(newValue, function(item, key) {
if (item.quantity < 1) {
var ans = confirm("是否移除该产品?");
if (ans) {
$scope.remove(key);
} else {
item.quantity = oldValue[key].quantity;
}
return;
}
});
}, true);
});
</
script
>
</
body
>
</
html
>
angularJS: shop chart的更多相关文章
- [D3 + AngularJS] 15. Create a D3 Chart as an Angular Directive
Integrating D3 with Angular can be very simple. In this lesson, you will learn basic integration as ...
- ECharts 初识(基于MVC+jQuery+Angularjs实现的Demo)
一.背景: 我们这行做web开发的,很多时候都需要做数据统计报表,现在我所使用的是来自百度团队的ECharts.官方网址:http://echarts.baidu.com/ 我们知 ...
- 在AngularJS中的使用Highcharts图表控件
一.Highcharts简介 Highcharts是一款非常好用的前端图表控件,正如其中文网介绍的那样:功能强大.开源.美观.图表丰富.兼容绝大多数浏览器的纯js图表库. 如果你的项目是基于jquer ...
- angularjs结合d3js实现资源展示
转载请注明出处: 转载自Bin's Blog: angularjs & d3 实现资源展示( http://www.wenbin.cf/post/27/ ) angularjs结合d3js实 ...
- Ionic中使用Chart.js进行图表展示以及在iOS/Android中的性能差异
Angular Chart 简介 在之前的文章中介绍了使用 Ionic 开发跨平台(iOS & Android)应用中遇到的一些问题的解决方案. 在更新0.1.3版本的过程中遇到了需要使用图表 ...
- angularJS之$watch的一个小介绍
现在最近公司项目使用angularJS进行开发:以前也接触过但是不多,趁着现在熟悉回来. 如题,angular中$watch也是我们在开发的时候需要的各种监听: $watch接收3个参数,第一个是对象 ...
- AngularJS in Action读书笔记6(实战篇)——bug hunting
这一系列文章感觉写的不好,思维跨度很大,原本是由于与<Angularjs in action>有种相见恨晚而激发要写点读后感之类的文章,但是在翻译或是阐述的时候还是会心有余而力不足,零零总 ...
- AngularJS引入Echarts的Demo
最近要用到图表展示,想了想,还是首选Echarts,HighCharts和D3.js备用吧, 而项目中也用到了AngularJS,所以需要把Echarts引入到AngularJs中一起使用, 试了试, ...
- AngularJs基础总结(1.4版本)
注明:现在用的是最新的1系列1.4版本. 一.细节方面入手: 1,ng-app根节点,一般别写在html上面,最多也就写在body就行了,因为我们难免会忘记这个写在哪里,然后复制一些案例代码却总报错. ...
随机推荐
- oracle中merge方法
先看SQL语句:merge into employee e using emps em on (e.emp_id=em.emp_id) when matched then update set e. ...
- JMeter学习-035-JMeter调试工具之二---Debug PostProcessor
前文 JMeter学习-034-JMeter调试工具之一---HTTP Mirror Server讲述了HTTP镜像服务器在调试请求入参时的实例应用.此文我们讲述另一种测试脚本调试工具的使用. 前置处 ...
- js 简易的分页器插件
1.自己引入jquery插件,我的demo是引入的自己本地的query <!DOCTYPE html> <html> <head> <meta charset ...
- JDBC数据库1
数据库(Database)是按照数据结构来组织,存储,和管理数据的仓库.数据库有很多类型,从简单存储各种数据的的表格到能够储存大型数据的系统,在各方面得到了广泛的应用.数据库简介J.Martin给 数 ...
- 基本C语言滤波算法
11种软件滤波方法的示例程序 假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad(); 1.限副滤波 /* A值可根据实际情况调整 value为有效值,new ...
- Spring
Spring 一个支持DI/IOC和AOP的开源容器框架 特点 DI/IOC DI 依赖注入(组件以特定方式接收来自容器的资源注入) IOC 控制反转(反转资源获取的方向) AOP 面向切面编程 开发 ...
- EaeyUI
基础 定义 一个轻量级的JavaScript框架 基本用法 $(function(){代码}) 相当于window.load()(当窗口加载完毕后触发) 选择器是jQuery的根基 通过选择器选中元素 ...
- 使用flume-ng聚合双活Nginx日志
前不久使用Keepalived搭建了Nginx双活代理服务器,以达到一个公网IP后支持多个云主机的多个域名网站的目的.完成后又想在这双活的Nginx上有所有访问网站的日志,之前有了解过Google A ...
- 代码review之 isInfoEnable()
上周没事扫扫系统原来的代码,突然发现这样一段代码: if(log.isInfoEnable()) { log.info("ID"+userID+"pwd"+us ...
- Kernel Time和User Time分别指什么
比如你的一个程序读取并分析一个文件,读取时会调用系统接口,系统会调用驱动来从物理设备上读取数据这个就是kernel time,除此以外在你自己进程上下文中执行代码占用的时间就是user time了. ...