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就行了,因为我们难免会忘记这个写在哪里,然后复制一些案例代码却总报错. ...
 
随机推荐
- CSS中定位和浮动对行内元素的宽高的影响
			
行内元素的大小是由元素里面的内容撑开的宽高决定的,就算在css中对行内元素设置width,height.行内元素也会忽略宽高的设置. 但是当行内元素使用position:absolute或者posit ...
 - SqList *L 和 SqList * &L的区别/学习数据结构突然发现不太懂 小祥我查找总结了一下
			
小祥在学习李春葆的数据结构教程时发现一个小问题,建立顺序表和输出线性表,这两个函数的形参是不一样的. 代码在这里↓↓↓ //定义顺序表L的结构体 typedef struct { Elemtype d ...
 - Java 的静态代理 动态代理(JDK和cglib)
			
转载:http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是 ...
 - docker好文收藏
			
深入浅出Docker(一):Docker核心技术预览 2. 核心技术预览 Docker核心是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观.我们从虚拟化方法的四个方面:隔离性.可配额/可度 ...
 - oracle sqlplus 格式化输出
			
1- show pagesize ###显示页行数 set pagesize 300 ###显示页行数为300 2- show linesize ###显示行宽度 set li ...
 - C++ 中的sort排序用法
			
STL中就自带了排序函数sortsort 对给定区间所有元素进行排序 要使用此函数只需用#include <algorithm> sort即可使用,语法描述为:sort(begin,end ...
 - asp.net中http提交数据所遇到的那些坑
			
http提交数据有两种形式,get和post,不知道的同学请联系度娘. 1.aspnet:MaxHttpCollectionKeys 业务场景:业务很简单,手机端读取本地通讯录,将所有通讯录提交到后台 ...
 - .NET XML序列化与反序列化
			
闲着没事,写了两个通用的XML序列化与反序列化的方法. 贴出来当作笔记吧! /// <summary> /// XML序列化 /// </summary> /// <ty ...
 - oracle数据库相关知识点
			
已知表如下:
 - JavaMail发送邮件的小程序
			
首先加入jar包javax.mail.jar package com.tideway.javamail; import java.util.ArrayList; import java.util.Da ...