js作品()Hbuilder

<!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>

        <style type="text/css">
            thead {
                background: gray;
            }
            
            .tip {
                background: yellow;
            }
        </style>
    </head>

    <body ng-app="myapp" ng-controller="myctrl">
        <input type="text" name="" id="" value="" placeholder="按电影名称模糊查询" ng-model="skey" />
        <input type="button" id="" value="搜索" ng-click="search()" />
        <select name="" ng-model="orderKey">
            <option value="0">按要求排序</option>
            <option value="time">电影时长升序排列</option>
            <option value="-time">电影时长降序排列</option>
            <option value="price">售价升序排列</option>
            <option value="-price">售价降序排列</option>
            <option value="playTime">上映时间升序排列</option>
            <option value="-playTime">上映时间降序排列</option>
            <option value="score">评分升序排列</option>
            <option value="-score">评分降序排列</option>
        </select>
        <input type="button" id="" value="批量删除" ng-click="delAll()" />
        <input type="button" id="" value="清空所有数据" ng-click="clearAll()" />
        <input type="button" id="" value="添加数据" ng-click="isShow=!isShow" />
        <table border="1" cellspacing="0" cellpadding="0" width="60%">
            <thead>
                <tr>
                    <th><input type="checkbox" id="" value="" ng-model="checkAll" /></th>
                    <th>电影名称</th>
                    <th>类别</th>
                    <th>时长</th>
                    <th>导演</th>
                    <th>售价</th>
                    <th>上映时间</th>
                    <th>评分</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
                <tr ng-repeat="x in films|filter:searchKey|orderBy:orderKey">
                    <td><input type="checkbox" id="" value="{{x.name}}" ng-model="checkAll" /></td>
                    <td>{{x.name}}</td>
                    <td>{{x.type[0]+","+x.type[1]}}</td>
                    <td>{{x.time}}</td>
                    <td>{{x.author}}</td>
                    <td>{{x.price|currency:"¥:"}}</td>
                    <td>{{x.playTime|date:"yyyy-MM-dd HH:mm:ss"}}</td>
                    <td>{{x.score}}</td>
                    <td>
                        <input type="button" id="" value="修改" ng-click="modify(x.name)" />
                        <input type="button" id="" value="删除" ng-click="delfilm(x.name)" />
                    </td>
                </tr>
            </tbody>

        </table>
        <div>总价是:{{getTotal()|currency:"¥:"}}</div>

        <fieldset id="" ng-show="isShow">
            <legend>添加电影</legend>
            <table border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td align="right">电影名称:</td>
                    <td><input type="text" name="" id="" value="" ng-model="aname" /></td>
                    <td><span id="s_name" class="tip"></span></td>
                </tr>
                <tr>
                    <td align="right">类别:</td>
                    <td>
                        <select ng-init="select_maintype=filmType[0]" ng-model="select_maintype" ng-options="x.maintype for x in filmType" ng-change="changeType()">
                        </select>
                        <select ng-init="select_child=select_maintype.child[0]" ng-model="select_child" ng-options="y for y in select_maintype.child">
                        </select>

                    </td>
                    <td><span id="s_type" class="tip"></span></td>
                </tr>
                <tr>
                    <td align="right">时长:</td>
                    <td><input type="text" name="" id="" value="" ng-model="atime" /></td>
                    <td><span id="s_time" class="tip"></span></td>
                </tr>
                <tr>
                    <td align="right">导演:</td>
                    <td><input type="text" name="" id="" value="" ng-model="aauthor" /></td>
                    <td><span id="s_author" class="tip"></span></td>
                </tr>
                <tr>
                    <td align="right">售价:</td>
                    <td><input type="text" name="" id="" value="" ng-model="aprice" /></td>
                    <td><span id="s_price" class="tip"></span></td>
                </tr>
                <tr>
                    <td align="right">上映时间:</td>
                    <td><input type="date" name="" id="" value="" ng-model="apaytime" /></td>
                    <td><span id="s_paytime" class="tip"></span></td>
                </tr>
                <tr>
                    <td align="right">评分:</td>
                    <td><input type="text" name="" id="" value="" ng-model="ascore" /></td>
                    <td><span id="s_score" class="tip"></span></td>
                </tr>
                <tr>
                    <td align="center" colspan="2"><input type="button" id="" value="保存" ng-click="save()" /></td>
                </tr>
            </table>

        </fieldset>

        <fieldset id="" ng-show="isModifyShow">
            <legend>修改电影</legend>
            <table border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td align="right">电影名称:</td>
                    <td><input type="text" name="" id="" value="" ng-model="mname" /></td>
                </tr>

                <tr>
                    <td align="right">时长:</td>
                    <td><input type="text" name="" id="" value="" ng-model="mtime" /></td>
                    <td><span id="s_time" class="tip"></span></td>
                </tr>
                <tr>
                    <td align="right">导演:</td>
                    <td><input type="text" name="" id="" value="" ng-model="mauthor" /></td>
                    <td><span id="s_author" class="tip"></span></td>
                </tr>

                <tr>
                    <td align="center" colspan="2"><input type="button" id="" value="修改保存" ng-click="modifySave()" /></td>
                </tr>
            </table>

        </fieldset>

        <script type="text/javascript">
            var app = angular.module("myapp", []);
            app.controller("myctrl", function($scope, $http) {

                $scope.orderKey = "0";
                $scope.checkAll = false;
                //进行初使化
                $scope.films = [];
                $scope.isShow = false;

                $scope.filmType = [{
                        "maintype": "喜剧",
                        "child": ["喜剧1", "喜剧2"]
                    },
                    {
                        "maintype": "冒险",
                        "child": ["冒险1", "冒险2", "冒险3"]
                    },
                    {
                        "maintype": "幻想",
                        "child": ["幻想1", "幻想2"]
                    }

                ];

                //请求网络数据
                $http({
                    method: "GET",
                    //url:"json/filmdata.json"
                    url: "http://result.eolinker.com/lKgJQ8Zec38423e5603b8e055d1193a8127c0c060bb1b55?uri=test1"
                }).then(function success(response) {
                    $scope.films = response.data;
                }, function error(response) {

                });

                //查询
                $scope.search = function() {
                    $scope.searchKey = $scope.skey;
                }
                //得到总价
                $scope.getTotal = function() {
                    var totalPrice = 0;
                    for(var i = 0; i < $scope.films.length; i++) {
                        totalPrice += $scope.films[i].price;
                    }
                    return totalPrice;
                }
                //删除数据
                $scope.delfilm = function(fname) {
                    for(var i = 0; i < $scope.films.length; i++) {
                        if($scope.films[i].name == fname) {
                            $scope.films.splice(i, 1);
                            break;
                        }
                    }
                }
                //清除所有数据
                $scope.clearAll = function() {
                    $scope.films = [];
                }
                //批量删除
                $scope.delAll = function() {
                    //选出所有选中的checkbox
                    var checks = $("input:checked");
                    for(var i = 0; i < checks.length; i++) {
                        var vname = checks[i].value;
                        //                        alert(vname);
                        for(var j = 0; j < $scope.films.length; j++) {
                            if($scope.films[j].name == vname) {
                                $scope.films.splice(j, 1);
                                break;
                            }
                        }
                    }

                }

                $scope.save = function() {
                    //清空所有错误提示数据
                    $(".tip").html("");
                    //电影名称
                    var aname = $scope.aname;
                    //时长
                    var atime = $scope.atime;
                    //导演
                    var aauthor = $scope.aauthor;
                    //售价
                    var aprice = $scope.aprice;
                    //上映时间
                    var apaytime = $scope.apaytime;
                    //评分
                    var ascore = $scope.ascore;

                    if(aname == null || aname.length < 3 || aname.length > 10) {
                        $("#s_name").html("电影名称不能为空且长度在3位到10位之间");
                        return;
                    }
                    if(atime == null) {
                        $("#s_time").html("时长不能为空");
                        return;
                    }
                    if(aauthor == null) {
                        $("#s_author").html("导演不能为空");
                        return;
                    }
                    if(aprice == null) {
                        $("#s_price").html("售价不能为空");
                        return;
                    }
                    if(apaytime == null) {
                        $("#s_paytime").html("上映时间不能为空");
                        return;
                    }
                    if(ascore == null) {
                        $("#s_score").html("评分不能为空");
                        return;
                    }

                    var newfilm = {};
                    newfilm.name = aname;
                    newfilm.time = atime;
                    newfilm.author = aauthor;

                    newfilm.price = aprice;
                    newfilm.playTime = apaytime;
                    newfilm.score = ascore;

                    var newtypes = [];
                    newtypes.push($scope.select_maintype.maintype);
                    newtypes.push($scope.select_child);
                    newfilm.type = newtypes;

                    //进行添加
                    $scope.films.push(newfilm);

                    $scope.isShow = !$scope.isShow;

                }
                //切换类型
                $scope.changeType = function() {
                    $scope.select_child = $scope.select_maintype.child[0];
                }
                var mdata = "";
                //修改
                $scope.modify = function(fname) {
                    $scope.isModifyShow = !$scope.isModifyShow;

                    for(var i = 0; i < $scope.films.length; i++) {
                        if($scope.films[i].name == fname) {
                            mdata = $scope.films[i];
                            $scope.mname = mdata.name;
                            $scope.mtime = mdata.time;
                            $scope.mauthor = mdata.author;
                            break;
                        }
                    }

                }

                //修改保存
                $scope.modifySave = function() {
                    mdata.name = $scope.mname;
                    mdata.time = $scope.mtime;
                    mdata.author = $scope.mauthor;

                    $scope.isModifyShow = !$scope.isModifyShow;

                }

            });
        </script>

    </body>

</html>


猜你喜欢

转载自blog.csdn.net/wumeng5211314/article/details/79814832
今日推荐