angular.js 增删改查练习2
生活随笔
收集整理的這篇文章主要介紹了
angular.js 增删改查练习2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<!DOCTYPE html>
<html ng-app="OrderApp">
<head><meta charset="UTF-8"><title>訂單管理</title><script type="text/javascript" src="jquery.1.12.4.js"></script><script type="text/javascript" src="angular-1.3.0.js"></script><script type="text/javascript" src="data.js"></script><style type="text/css">* {font-size: 14px;margin: 0;padding: 0;}body {padding: 16px 32px;}.filter {position: relative;width: 800px;height: 40px;margin: 0 auto;}.filter input {width: 152px;height: 24px;border: 1px solid #999;border-radius: 4px;padding-left: 8px;}.filter select {width: 86px;height: 24px;border: 1px solid #999;border-radius: 4px;}.buttons {width: 800px;height: 40px;margin: 0 auto;}.buttons button {width: 80px;height: 24px;background-color: green;border: 0;border-radius: 4px;color: white;}.buttons .remove_btn {background-color: red;}.list {width: 800px;margin: 0 auto;}.list table tr {height: 32px;}.list thead tr {background-color: #777;}.list tbody tr:nth-child(odd) {background-color: #ccc;}.list tbody tr:nth-child(even) {background-color: #fff;}.list button {width: 40px;height: 18px;line-height: 18px;background-color: green;border: 0;border-radius: 4px;color: white;font-size: 8px;}.form {width: 460px;border: 1px solid #999;margin: 0 auto;}.form div {clear: both;}.form .formErr {border: 1px solid red;}.form .label {display: block;float: left;width: 80px;height: 40px;line-height: 40px;text-align: end;}.form .txt {display: block;float: left;width: 340px;height: 40px;line-height: 40px;padding-left: 16px;}.form input {width: 312px;height: 24px;border: 1px solid #999;border-radius: 4px;padding-left: 8px;}.form select {width: 86px;height: 24px;border: 1px solid #999;border-radius: 4px;}.form button {width: 56px;height: 24px;background-color: green;border: 0;border-radius: 4px;color: white;}.form .errTips {width: 226px;background-color: lightpink;color: darkred;border-radius: 4px;margin-left: 96px;margin-top: 6px;margin-bottom: 4px;padding: 16px 48px;}</style><script type="text/javascript">// 全選/全不選$(function () {$("input[name='check_all']").click(function () {var checked = this.checked; // 獲取 <input type="checkbox" name="check_all"/> 中checked屬性的值$("input[name='order_id[]']").each(function () {this.checked = checked; // 依次設置每一個 <input type="checkbox" name="order_id[]"/> 中checked屬性的值});});});var app = angular.module("OrderApp", []);app.controller("OrderCtrl", function ($scope) {$scope.data = data;var id = 12;$scope.filterByMonth = function (order) {if ($scope.filter_begin_month == undefined || $scope.filter_begin_month == "") {return true;}if ($scope.filter_end_month == undefined || $scope.filter_end_month == "") {return true;}var beginMonth = parseInt($scope.filter_begin_month);var endMonth = parseInt($scope.filter_end_month);if (beginMonth > endMonth) {return true;}var month = order.dtCreated.substr(0, order.dtCreated.indexOf("-"));month = parseInt(month);return (month >= beginMonth && month <= endMonth);};// 發貨$scope.deliver = function (id) {for (var i in $scope.data) {if ($scope.data[i].id == id) {$scope.data[i].status = "已發貨";}}};// 批量發貨$scope.batchDeliver = function () {$("input[name='order_id[]']:checked").each(function () {$scope.deliver(this.id);});};// 刪除$scope.remove = function (id) {for (var i in $scope.data) {if ($scope.data[i].id == id) {$scope.data.splice(i, 1);}}};// 批量刪除$scope.batchRemove = function () {$("input[name='order_id[]']:checked").each(function () {$scope.remove(this.id);});};$scope.isShowAddOrderForm = false;$scope.showAddOrderForm = function () {$scope.isShowAddOrderForm = true;};$scope.errTips = [];$scope.submitAddOrderForm = function () {$scope.errTips = [];$scope.goodsNameClassName = "";$scope.userNameClassName = "";$scope.phoneClassName = "";$scope.hasErr = false;if ($scope.goodsName == undefined || $scope.goodsName == "" || $scope.goodsName.trim() == "") {$scope.errTips.push("商品名不能為空!");$scope.goodsNameClassName = "formErr";$scope.hasErr = true;}if ($scope.userName == undefined || $scope.userName == "" || $scope.userName.trim() == "") {$scope.errTips.push("用戶名不能為空!");$scope.userNameClassName = "formErr";$scope.hasErr = true;}if ($scope.phone == undefined || $scope.phone == "" || $scope.phone.trim() == "") {$scope.errTips.push("手機號不能為空!");$scope.phoneClassName = "formErr";$scope.hasErr = true;}if ($scope.city == undefined || $scope.city == "" || $scope.city.trim() == "") {$scope.errTips.push("請選擇城市!");$scope.hasErr = true;}if ($scope.goodsName.trim().length < 6 || $scope.goodsName.trim().length > 20) {$scope.errTips.push("商品名必須是6-20個字符!");$scope.goodsNameClassName = "formErr";$scope.hasErr = true;}if ($scope.userName.trim().length < 4 || $scope.userName.trim().length > 16) {$scope.errTips.push("用戶名必須是4-16個字符!");$scope.userNameClassName = "formErr";$scope.hasErr = true;}if ($scope.phone.trim().length != 11) {$scope.errTips.push("手機號格式不正確!");$scope.phoneClassName = "formErr";$scope.hasErr = true;}if ($scope.hasErr) {return;}$scope.data.push({id: ++id,goodsName: $scope.goodsName,userName: $scope.userName,phone: $scope.phone,price: 4550.00,city: $scope.city,dtCreated: "10-16 10:00",status: "待發貨"});};});</script>
</head>
<body ng-controller="OrderCtrl">
<div class="filter"><input type="text" placeholder="用戶名搜索" ng-model="filter_user_name"/><input type="text" placeholder="手機號搜索" ng-model="filter_phone"/><select class="choose_city" ng-model="filter_city"><option value="">選擇城市</option><option value="北京">北京</option><option value="上海">上海</option><option value="天津">天津</option><option value="重慶">重慶</option></select><select class="choose_status" ng-model="filter_status"><option value="">選擇狀態</option><option value="待發貨">待發貨</option><option value="已發貨">已發貨</option><option value="已收貨">已收貨</option></select><select class="choose_time_begin_month" ng-model="filter_begin_month"><option value="">開始月份</option><option value="1">01</option><option value="2">02</option><option value="3">03</option><option value="4">04</option><option value="5">05</option><option value="6">06</option><option value="7">07</option><option value="8">08</option><option value="9">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option></select> -<select class="choose_time_end_month" ng-model="filter_end_month"><option value="">結束月份</option><option value="1">01</option><option value="2">02</option><option value="3">03</option><option value="4">04</option><option value="5">05</option><option value="6">06</option><option value="7">07</option><option value="8">08</option><option value="9">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option></select><select class="id_order" ng-model="id_order_type"><option value="">ID排序</option><option value="id">ID正序</option><option value="-id">ID倒序</option></select>
</div><div class="buttons"><button class="add_btn" ng-click="showAddOrderForm();">新增訂單</button><button class="deliver_btn" ng-click="batchDeliver()">批量發貨</button><button class="remove_btn" ng-click="batchRemove()">批量刪除</button>
</div><div class="list"><table width="800px" cellspacing="0" rules="cols" border="1px"><thead><tr><th width="4%"><input type="checkbox" name="check_all"/></th><th width="6%">ID</th><th width="12%">商品名</th><th width="10%">用戶名</th><th width="14%">手機號</th><th width="10%">價格</th><th width="10%">城市</th><th width="18%">下單時間</th><th width="8%">狀態</th><th width="8%">操作</th></tr></thead><tbody><tr align="center"ng-repeat="order in data | filter: {userName: filter_user_name} | filter: {phone: filter_phone} | filter: {city: filter_city} | filter: {status: filter_status} | filter: filterByMonth | orderBy: id_order_type"><td><input type="checkbox" name="order_id[]" id="{{ order.id }}"/></td><td>{{ order.id }}</td><td>{{ order.goodsName }}</td><td>{{ order.userName }}</td><td>{{ order.phone }}</td><td>{{ order.price | currency: "¥"}}</td><td>{{ order.city }}</td><td>{{ order.dtCreated }}</td><td><span ng-show="order.status=='待發貨'" ng-click="deliver(order.id)"><a href="javascript: void(0);">發貨</a></span><span ng-show="order.status=='已發貨'">已發貨</span><span ng-show="order.status=='已收貨'">已收貨</span></td><td><a href="javascript: void(0);" ng-click="remove(order.id)">刪除</a></td></tr></tbody></table>
</div><div class="form" ng-show="isShowAddOrderForm"><div><span class="label">新增訂單</span><span class="txt"></span></div><div><span class="label">商品名</span><span class="txt"><input type="text" placeholder="6-20個字符" ng-model="goodsName" ng-class="goodsNameClassName"/></span></div><div><span class="label">用戶名</span><span class="txt"><input type="text" placeholder="4-16個字符" ng-model="userName" ng-class="userNameClassName"/></span></div><div><span class="label">手機號</span><span class="txt"><input type="text" ng-model="phone" ng-class="phoneClassName"/></span></div><div><span class="label">城市</span><span class="txt"><select ng-model="city"><option value="">選擇城市</option><option value="北京">北京</option><option value="上海">上海</option><option value="天津">天津</option><option value="重慶">重慶</option></select></span></div><div class="errTips" ng-show="hasErr"><ul><li ng-repeat="msg in errTips">{{ msg }}</li></ul></div><div><span class="label"></span><span class="txt"><button ng-click="submitAddOrderForm()">提交</button></span></div><div style="clear: both"></div>
</div>
</body>
</html>
新增訂單 商品名 用戶名 手機號 城市
效果如下:
| 12 | VIVO X20 | 趙云 | 13333333333 | ¥2,998.00 | 上海 | 08-22 10:00 | 已發貨 | 刪除 | |
| 11 | 小米Note5 | 黃忠 | 13222222222 | ¥699.00 | 重慶 | 02-28 10:00 | 發貨 | 刪除 | |
| 10 | 小米Mix2 | 黃蓋 | 13111111111 | ¥3,299.00 | 北京 | 03-15 10:00 | 發貨 | 刪除 | |
| 9 | 紅米5A | 周瑜 | 15999999999 | ¥599.00 | 重慶 | 06-16 10:00 | 發貨 | 刪除 | |
| 8 | 紅米Note4X | 張飛 | 15888888888 | ¥999.00 | 上海 | 05-18 10:00 | 已收貨 | 刪除 | |
| 7 | OPPO R9sk | 關羽 | 15777777777 | ¥4,999.00 | 北京 | 03-09 10:00 | 已發貨 | 刪除 | |
| 6 | 三星 Galaxy Note8 | 張遼 | 15666666666 | ¥2,599.00 | 北京 | 04-02 10:00 | 已收貨 | 刪除 | |
| 5 | 魅藍5S | 夏侯淳 | 15555555555 | ¥999.00 | 北京 | 10-03 10:00 | 已發貨 | 刪除 | |
| 4 | 三星 Galaxy S7 | 司馬懿 | 15444444444 | ¥2,999.00 | 北京 | 06-02 10:00 | 已發貨 | 刪除 | |
| 3 | 努比亞Z17 | 孫權 | 15333333333 | ¥2,099.00 | 上海 | 07-01 10:00 | 發貨 | 刪除 | |
| 2 | 華為 暢享6S | 劉備 | 15222222222 | ¥899.00 | 天津 | 08-09 10:00 | 已發貨 | 刪除 | |
| 1 | iPhone 8 Plus | 曹操 | 15111111111 | ¥7,588.00 | 北京 | 09-04 10:00 | 已發貨 | 刪除 |
總結
以上是生活随笔為你收集整理的angular.js 增删改查练习2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DNF—警告码(0,20003,116)
- 下一篇: 如何保证投票公平_关于公平合理、简便省时