angular增删改查

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/angular.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../js/jquery-3.2.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var app = angular.module("myApp",[]);
app.controller("myCtrl",function($scope){

//准备数据源
$scope.goods = [
{"id":"201","name":"冰激凌","price":3,"brand":"蒙牛"},
{"id":"202","name":"老冰棍","price":1,"brand":"老北京"},
{"id":"203","name":"西瓜","price":10,"brand":"麒麟"},
{"id":"204","name":"可乐","price":5,"brand":"百事"}];
//过滤条件
$scope.searchKey;
//排序条件
$scope.orderByKey;
//删除  通过索引删除一条,,如果重新排序了,就会有bug
// $scope.deletGoodsByindex = function(i){
// $scope.goods.splice(i,1);//
// }


//通过id删除,没有任何bug
$scope.deletGoodsById = function(_id){
//得到_id在数据源中的索引号
//循环遍历得到每一个商品,用它的id和_id比较
for(var i=0;i<$scope.goods.length;i++){
var g = $scope.goods[i];//得到一个商品
if(g.id == _id){//此g就是要删除的,,删除之
$scope.goods.splice(i,1);
break;
}
}
};

//全选的属性
$scope.checkall = false;
//添加功能区域
$scope.addIsShow = false;
$scope.newname;
$scope.newprice;
$scope.newbrand;
$scope.addNewGood = function(){
var n = Math.round(Math.random()*100);//随机数作为id
//创建新商品对象,属性赋值
var a = {};
a.id = n;
a.name = $scope.newname;
a.price = $scope.newprice;
a.brand = $scope.newbrand;
//添加到数组
$scope.goods.push(a);
$scope.addIsShow = false;//设置隐藏
}
//修改
$scope.updateGood;
$scope.updateIsShow = false;//修改区域默认不显示
$scope.updatename;
$scope.updateprice;
$scope.updatebrand;
$scope.showGoodById = function(_id){

$scope.updateIsShow = true;//显示修改区域
//回显修改商品的信息,,先通过遍历数据源,找到要修改的商品对象
for(var i=0;i<$scope.goods.length;i++){
if($scope.goods[i].id==_id){//找到了要修改的商品信息
$scope.updateGood = $scope.goods[i];//收集修改对象
break;
}
}
//找到要修改的对象后,显示在页面中,数据绑定
$scope.updatename=$scope.updateGood.name;
$scope.updateprice=$scope.updateGood.price;
$scope.updatebrand=$scope.updateGood.brand;
}
//提交修改信息到数据源
$scope.updateGoodF = function(){
$scope.updateIsShow = false;//隐藏修改区域
$scope.updateGood.name = $scope.updatename;
$scope.updateGood.price = $scope.updateprice;
$scope.updateGood.brand = $scope.updatebrand;

}
//批量删除
$scope.deleteMore = function(){
//获取所有选择的checkbox
var cks = $("input[type=checkbox]:checked");
for(var i=0;i<cks.length;i++){
var ck = cks[i];
var _id = ck.value;//得到要删除的商品的id
for(var j=0;j<$scope.goods.length;j++){//到数据源中找到和当前id匹配的商品,删除之
if($scope.goods[j].id == _id){
$scope.goods.splice(j,1);
break;
}
}
}
}


});
</script>
<style type="text/css">
table{
text-align: center;
}
.red{
background-color: red;
}
.green{
background-color: green;
}
</style>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<center>
查询:<input type="text" ng-model="searchKey" />&nbsp;&nbsp;
排序条件:<select ng-model="orderByKey">
<option value="">--请选择--</option>
<option value="name">--按名字正序--</option>
<option value="-name">--按名字倒序--</option>
<option value="price">--按价钱正序--</option>
<option value="-price">--按价钱倒序--</option>
<option value="id">--按id正序--</option>
<option value="-id">--按id倒序--</option>
</select>
<input type="button" value="入库" ng-click="addIsShow=true"/>
<br /><br />
<div ng-show="addIsShow">
名字:<input type="text" ng-model="newname" /><br />
价钱:<input type="text" ng-model="newprice" /><br />
产地:<input type="text" ng-model="newbrand" /><br />
<input type="button" value="添加" ng-click="addNewGood();" /><br />
</div>
<input style="text-align: right;" type="button" value="批量删除" ng-click="deleteMore();"/>
<table width="400px" border="1px" bordercolor="red" cellpadding="1px" cellspacing="1px" >
<tr style="background-color: grey;">
<td><input type="checkbox" ng-model="checkall"/></td>
<td>序号</td>
<td>id</td>
<td>名字</td>
<td>价格</td>
<td>品牌</td>
<td>操作</td>
</tr>
<tr ng-repeat="g in goods |filter:searchKey | orderBy:orderByKey" class="{{$index%2==0?'red':'green'}}">
<td><input type="checkbox" value="{{g.id}}" ng-model="checkall" /></td>
<td>{{$index+1}}</td>
<td>{{g.id}}</td>
<td>{{g.name}}</td>
<td>{{g.price}}</td>
<td>{{g.brand}}</td>
<td>
<input type="button" value="删除" ng-click="deletGoodsById(g.id);"/>
<input type="button" value="修改" ng-click="showGoodById(g.id);"/>
</td>
</tr>
</table>
<div ng-show="updateIsShow">
名字:<input type="text" ng-model="updatename" /><br />
价钱:<input type="text" ng-model="updateprice" /><br />
产地:<input type="text" ng-model="updatebrand" /><br />
<input type="button" value="提交修改" ng-click="updateGoodF();" /><br />
</div>


</center>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值