您的位置:首页 > Web前端 > AngularJS

韩经哲月考1_angular增删改查批量删除发货

2018-04-02 09:25 405 查看
<!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-1.11.1.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
* {
margin: 0px auto;
text-align: center;
}
</style>
<script type="text/javascript">
//$http是angular里面内置的服务.,,可以直接去使用:a.$http注入到控制器中 b.$http.get("url(数据的路径)").then(function(success){})
//success:是请求成功时候返回的数据对象,如果要得到里面的数据,,,,必须使用success.data;
var app = angular.module("myapp", []).controller("myctrl", function($scope, $http) {
//1.初始化下拉选项的数据
$scope.order = ["请选择排序方式", "按商品价格升序", "按商品价格降序", "按生产日期升序", "按生产日期降序"];
//2.通过$http服务,,,去获取数据
$http.get("goods.json").then(function(success) {
$scope.goods = success.data;
// alert($scope.goods.length);
})
//3.初始化flag值
$scope.flag = false;
//4.添加
$scope.save = function() {
//清空输入框的内容
$(".inp").val("");
//获取输入的内容
var gname = $scope.gname;
var address = $scope.address;
var price = $scope.price;
//验证
if(gname == null || gname == "") {
alert("名称不能为空");
return;
}
//添加到数组
$scope.goods.push({
checked: false,
gname: gname,
address: address,
id: 4,
regDate: new Date(),
price: price,
state: "发货"
})
//隐藏表单
$scope.flag = false;
}
//删除
$scope.del = function(index) {
$scope.goods.splice(index, 1);
}
//修改---价格----添加回显数据
$scope.update = function(index) {
//第二个参数:输入框默认显示的数据
var a = prompt("请修改价格",$scope.goods[index].price);
if(a == null || a == "") {
alert("请输入修改内容");
} else {
$scope.goods[index].price = a;
}
}
//全选---全不选
$scope.selAll = function() {
//获取到全选的状态值
var isck = $scope.ischeck;
alert(isck);
for(var i = 0; i < $scope.goods.length; i++) {
$scope.goods[i].checked = isck;
}
}
//批量删除
$scope.delAll = function() {
//记录当前是否存在选中的条目
var deafult = false; //代表当前没有选中条目
for(var i = 0; i < $scope.goods.length; i++) {
if($scope.goods[i].checked == true) {
deafult = true;
break;
}
}
//alert(deafult);
if(deafult) { //存在选中的条目
for(var i = 0; i < $scope.goods.length; i++) {
if($scope.goods[i].checked == true) {
$scope.goods.splice(i, 1);
i--; //继续上次遍历的结果,,继续循环遍历
}
}
}
}
//批量发货
$scope.sendAll = function() {
//记录当前是否存在选中的条目
var deafult = false; //代表当前没有选中条目
for(var i = 0; i < $scope.goods.length; i++) {
if($scope.goods[i].checked == true) {
deafult = true;
break;
}
}
//alert(deafult);
if(deafult) { //存在选中的条目
for(var i = 0; i < $scope.goods.length; i++) {
if($scope.goods[i].checked == true) {
$scope.goods[i].state = "已发货";
$scope.goods.checked = false;
}
}
}
}
//排序
$scope.change = function() {
//1.获取选择的下拉选项
var value = $scope.selectValue;
switch(value) {
case "按商品价格升序":
$scope.goods.sort(function(a, b) {
return a.price - b.price;
});
break;
case "按商品价格降序":
$scope.goods.sort(function(a, b) {
return b.price - a.price;
});
break;
case "按生产日期升序":
$scope.goods.sort(function(a, b) {
return a.regDate - b.regDate;
});
break;
case "按生产日期降序":
$scope.goods.sort(function(a, b) {
return b.regDate - a.regDate;
});
break;
default:
break;
}
}
})
</script>
</head>

<body ng-app="myapp" ng-controller="myctrl">
<button ng-click="flag=true">新增</button>
<button ng-click="delAll()">批量删除</button>
<button ng-click="sendAll()">批量发货</button>
<input type="text" placeholder="请输入商品名称" ng-model="select_name" />
<input type="text" placeholder="请输入商品产地" ng-model="select_addr" />
<select ng-model="selectValue" ng-init="selectValue=order[0]" ng-options="s for s in order" ng-change="change()">{{s}}</select>
<table border="1px" cellspacing="0" cellpadding="0" width="700px">
<tr style="background-color: darkgray;">
<td><input type="checkbox" ng-model="ischeck" ng-change="selAll()" /></td>
<td>商品名称</td>
<td>商品产地</td>
<td>商品价格</td>
<td>生产日期</td>
<td>状态</td>
<td>操作</td>
</tr>
<tr ng-repeat="s in goods|filter:{'gname':select_name,'address':select_addr}">
<td><input type="checkbox" ng-model="s.checked" /></td>
<td>{{s.gname}}</td>
<td>{{s.address}}</td>
<td>{{s.price|currency:"¥"}}</td>
<td>{{s.regDate|date:"yyyy年MM月dd日 hh时mm分ss秒"}}</td>
<td>
<span ng-show="s.state=='已发货'">
{{s.state}}
</span>
<span ng-show="s.state=='发货'" ng-click="s.state='已发货'">
<a href="#">{{s.state}}</a>
</span>
</td>
<td>
<button ng-click="del($index)">删除</button>|
<button ng-click="update($index)">修改</button>
</td>
</tr>
</table>
<hr />
<form ng-show="flag">
商品名称:<input type="text" ng-model="gname" class="inp" /><br /> 商品产地
<input type="text" ng-model="address" class="inp" /><br /> 商品价格
<input type="text" ng-model="price" class="inp" /><br />
<button ng-click="save()">提交</button>
</form>
</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐