angular 购物车



<!DOCTYPE html>
<html ng-app="App">
<head>
<meta charset="UTF-8">
<title></title>

<style>
.css1{
background-color: red;
}

.css2{
background-color: brown;
}

</style>
</head>
<body ng-controller="Demo">

<input type="text" placeholder="请输入查询商品" ng-model="search" /> 
数量排序:
<select ng-model="selOrder">
<option value="nums">数量正序</option>
<option value="-nums">数量倒序</option>
</select>
<button ng-click="delSelect()" class="sb">批量删除</button><br />


<table border="2px" cellspacing="0">

<tr>
<!--<td><input type="checkbox" ng-model="selectAll" ng-click="selectAllFun()"/></td>-->
<td><input type="checkbox" ng-model="selectAll" ng-click="selectAllFun()" /></td>
<td>产品编号</td>
<td>产品名称</td>
<td>购买数量</td>
<td>产品单价</td>
<td>产品总价</td>
<td>操作</td>
</tr>



<tr ng-repeat="x in datas | filter:{name:search}| orderBy:selOrder" class="{{ $even ? 'css1':'css2'}}">

<td><input type="checkbox" ng-model="x.state"/></td>
<td>{{x.id}}</td>
<td>{{x.name}}</td>
<td>
<button ng-click="jian($index)">-</button>

<input type="number" ng-model="x.nums"/>
<button ng-click="add($index)">+</button>
</td>
<td>{{x.prices}}</td>
<td>{{x.prices*x.nums}}</td>
<td><button ng-click="remove($index)">移除</button>
<button ng-click="updateShowFun($index)">修改</button>
</td>
</tr>
</table>


<div>
<span>总价</span>
<span>{{totalPrice()}}</h3>
<span>总数</h3>
<span>{{totalNum()}}</h3>
<button ng-click="removeAll()">清空购物车</button>

</div>


<form style="border: 1px solid yellow; width: 260px;">

商品编号:<input type="text" ng-model="ID"/><br />
商品名称:<input type="text" ng-model="IDname"/><br />
商品数量:<input type="number" ng-model="IDnum"/><br />
商品单价:<input type="text" ng-model="IDprice"/><br />

<button ng-click="add333()">添加</button>

</form>

<form style="border: solid black; width: 300px;" ng-show="updateShow">
商品编号:<input type="text" ng-model="updateId"/><br />
商品名称:<input type="text" ng-model="updateName"/><br />
商品数量:<input type="number" ng-model="updateNum"/><br />
商品单价:<input type="number" ng-model="updatePrice"/><br />
<button type="button" value="提交" ng-click="updateSub()">提交</button>

</form>

<script type="text/javascript" src="js/angular.js" ></script>

<script>
var App = angular.module("App",[]);
App.controller("Demo",function($scope){

//数据
$scope.datas = [
{
id:1001,
name:"ihone8",
nums:1,
prices:3888,
state: false
}
,
{
id:1002,
name:"ihone10",
nums:1,
prices:6888,
state: false
}
,
{
id:1003,
name:"ihone7",
nums:1,
prices:5888,
state: false
}
];

//数量减减
$scope.jian = function(index){

$scope.datas[index].nums--;

}

//数量加加
$scope.add = function(index){

$scope.datas[index].nums++;

}

//移除的
$scope.remove = function(index){
if(confirm("确定要移除吗?")){
$scope.datas.splice(index,1);
}


}

//全选和反选
$scope.selectAllFun = function(){
if($scope.selectAll){
//如果是true的话,把下面的都选中


for (var x=0;x<$scope.datas.length;x++) {

$scope.datas[x].state = true;
}

}else{   //全部不选中
for (var x=0;x<$scope.datas.length;x++) {

$scope.datas[x].state = false;
}
}
}


//批量删除 名字进行删除
$scope.delSelect = function(){

var arrs =[];
for (var x=0;x<$scope.datas.length;x++) {
if($scope.datas[x].state){
arrs.push($scope.datas[x].name);
}
}

if(arrs.length<=0){
alert("请您选中你要删除的数据")
}else{
//开始进行删除

for (var x=0;x<arrs.length;x++) {

for (var x2=0;x2<$scope.datas.length;x2++) {

if(arrs[x]==$scope.datas[x2].name){
//删除
$scope.datas.splice(x2,1);
}

}


}
}
}


//总价
$scope.totalPrice = function(){

var totalPrice=0;

for (var x=0;x<$scope.datas.length;x++) {

totalPrice+=$scope.datas[x].prices *$scope.datas[x].nums;
}

return totalPrice;

}


//总数
$scope.totalNum = function(){

var totalNums=0;

for (var x=0;x<$scope.datas.length;x++) {

totalNums+=$scope.datas[x].nums;
}

return totalNums;

}

//清空购物车
$scope.removeAll = function(){
$scope.datas =[];
}
//增加数据的方法
$scope.add333 = function(){

/*ng-model="ID"/><br />
商品名称:<input type="text" ng-model="IDname"/><br />
商品数量:<input type="text" ng-model="IDnum"/><br />
商品单价:<input type="text" ng-model="IDprice"*/

var flag1 = false;

if($scope.ID=="" || $scope.ID==null){
flag1 = false;
alert("ID不能为空")

return;
}else if(isNaN($scope.ID)){  //如果传入的参数是非数字返回true,如果是数字返回false
flag1 = false;
alert("ID必须是数字")
return;
}else{
flag1 = true;
}

if($scope.IDname=="" || $scope.IDname==null){
flag1 = false;
alert("IDname不能为空")
return;
}else{
flag1 = true;
}

if($scope.IDnum=="" || $scope.IDnum==null){
flag1 = false;
alert("IDnum不能为空")
return;
}else if(isNaN($scope.IDnum)){  //如果传入的参数是非数字返回true,如果是数字返回false
flag1 = false;
alert("IDnum必须是数字")
return;
}else{
flag1 = true;
}

if($scope.IDprice=="" || $scope.IDprice==null){
flag1 = false;
alert("IDnum不能为空")
return;
}else if(isNaN($scope.IDprice)){  //如果传入的参数是非数字返回true,如果是数字返回false
flag1 = false;
alert("IDnum必须是数字")
return;

}else{
flag1 = true;
}


if(flag1){
//添加数据到原始的集合里面
$scope.datas.push({

id:$scope.ID,
name:$scope.IDname,
nums:$scope.IDnum,
prices:$scope.IDprice,


});
}


}


var index333 = 0;

//修改的
$scope.updateShowFun = function(index){

index333=index; 

if(confirm("确定要修改吗")){
$scope.updateShow = true;

}

}



//提交按钮
$scope.updateSub = function(){

$scope.datas[index333].id = $scope.updateId;
$scope.datas[index333].name = $scope.updateName;
$scope.datas[index333].nums= $scope.updateNum;
$scope.datas[index333].prices = $scope.updatePrice;



/*for (var x=0;x<$scope.datas.length;x++) {

$scope.datas.[index333]

if($scope.datas[x].id==$scope.updateId){
$scope.datas[x].id = $scope.updateId;
$scope.datas[x].name = $scope.updateName;
$scope.datas[x].nums= $scope.updateNum;
$scope.datas[x].prices = $scope.updatePrice;
}



}*/

}



});

</script>
</body>
</html>
\\\\\

猜你喜欢

转载自blog.csdn.net/wsj19970717/article/details/79102481