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