VUE考试系统另一种写法


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Vue考试系统</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.css"/>
    <link rel="stylesheet" type="text/css" href="Font-Awesome/css/font-awesome.css"/>
    <link rel="stylesheet" type="text/css" href="css/build.css"/>
    <link rel="stylesheet" type="text/css" href="css/default.css"/>
    <link rel="stylesheet" type="text/css" href="css/style.css"/>
    <script src="js/jquery.min.js"></script>
    <script src="bootstrap/js/bootstrap.js"></script>
    <script src="js/vue.js"></script>
    <script src="js/vue-resource.js"></script>
    <script src="js/vue-cookies.js"></script>
    <style>
        ul li {
            font-size: large;
            list-style: none;
            margin: 2px 10px;

        }

        .tiGan {
            font-size: 20px;
            font-weight:bold;
            margin-top: 10px;
        }
    </style>
</head>
<body>
<div id="app" class="col-sm-8 col-sm-offset-2">

    <form>
        <div v-for="(item ,index) in chengji">
            <!-题干->

            <div class="tiGan">{{index+1}} 、{{item.tiMu}}</div>
            <!-选项->
            <div class="anser">

                <ul>
                    <li class="xuanXiang" v-for="(tiao,i) in item.xuanXiang" :class="{'double-line':!item.flag}">
                        <div>

                            <input v-if="item.type==0"
                                   type="radio"
                                   v-model="item.picked"
                                   :name="'pickedd_' +index"
                                   v-bind:value="haha[i]"
                                   @change="doCheck(item,index)"
                            />
                            <input v-else="item.type==1"
                                   type="checkbox"
                                   v-model="item.picked_many"
                                   :name="'pickedd_' +index"
                                   v-bind:value="haha[i]"
                                   @change="doCheck(item,index)"
                            />
                            {{haha[i]}} {{tiao}}
                        </div>
                    </li>
                </ul>

            </div>


            <div class="clearfix"></div>
        </div>
    </form>
</div>

</body>
<script type="text/javascript">
    var vue = new Vue({
        el: "#app",
        data: {
            name: "zhangsan",
            zhi: "A",
            haha: ["A", "B", "C", "D"],
            chengji: [
                {daan: "C", tiMu: "1*8=?", picked: 'A', picked_many: [], xuanXiang: ["2", "6", "8", "10"], type: 0},
                {daan: "C", tiMu: "2*4=?", picked: 'A', picked_many: [], xuanXiang: ["2", "6", "8", "10"], type: 0},
                {
                    daan: ["A", "B", "D"],
                    tiMu: "下面哪些城市属于中国?",
                    picked: 'A',
                    picked_many: [],
                    xuanXiang: ["上海", "信阳", "纽约", "郑州"],
                    type: 1
                }
            ],
            choiceArr: [],
            isRightArr: []
        },
        methods: {
            init() {
                // localStorage.setItem('choiceArr', JSON.stringify([]));
                this.choiceArr = JSON.parse(localStorage.getItem('choiceArr'));


                if (localStorage.getItem('isRightArr') != null) {
                    this.isRightArr = localStorage.getItem('isRightArr').split(',');
                }

                this.chengji.map((item, idx) => {
                    if (item.type == 0) {
                        item.picked = this.choiceArr[idx];
                    } else {
                        item.picked_many = this.choiceArr[idx];
                    }

                    item.isRight=JSON.parse(this.isRightArr[idx]);
                })
            },
            doCheck(item, index) {
                if (item.type == 0) {
                    this.choiceArr[index] = item.picked;
                    if (item.picked == item.daan) {
                        item.isRight = true;
                    } else {
                        item.isRight = false;
                    }
                } else {
                    this.choiceArr[index] = item.picked_many;
                    if (JSON.stringify(item.picked_many.sort()) == JSON.stringify(item.daan.sort())) {
                        item.isRight = true;
                    } else {
                        item.isRight = false;
                    }
                }
                this.isRightArr[index] = item.isRight;

                // 将结果放入缓存
                alert(JSON.stringify(this.choiceArr))
                localStorage.setItem('choiceArr', JSON.stringify(this.choiceArr))
                localStorage.setItem('isRightArr', this.isRightArr)
            }
        },
        mounted() {
            this.init();
        }
    });
</script>

</html>

 

FR:徐海涛(hunk xu)
QQ技术交流群:386476712

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值