83b5ddeb
孙向锦
模板添加
|
1
|
var questionNUm = 0;
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
2
|
/* 数字转汉字数字 */
|
83b5ddeb
孙向锦
模板添加
|
3
4
5
6
7
8
9
10
|
var chnNumChar = [ "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" ];
var chnUnitSection = [ "", "万", "亿", "万亿", "亿亿" ];
var chnUnitChar = [ "", "十", "百", "千" ];
/* 快速创建答案列表 */
var score = 0;
var total_score = 0;
var answerLen = 0;
|
83b5ddeb
孙向锦
模板添加
|
11
|
$(function() {
|
83b5ddeb
孙向锦
模板添加
|
12
13
14
15
16
17
18
19
20
21
22
23
|
function creat(str_ans, a_num, fraction) {
// $(".section").remove();
answer_index_b = $(".section").length + 1;
/*
* $(".content").append('<div class="section section-1 single"
* data-fraction="'+fraction+'" data-score=""> <div class="title"> <h3><span
* class="que_num">一、</span><span class="que_name">单选</span></h3>
* <input type="button" class="btn btn-danger pull-right remove"
* name="remove" value="删除" /> </div> <div class="question_list"></div></div>')
*/
var str = str_ans.split('');
|
5d2c2033
孙向锦
自定义出题
|
24
|
console.log(str);
|
83b5ddeb
孙向锦
模板添加
|
25
26
27
28
|
for (i = 0; i < str.length; i++) {
if (str[i] == " ") {
str.splice(i, 1);
i = i - 1;
|
5d2c2033
孙向锦
自定义出题
|
29
30
|
}
}
|
83b5ddeb
孙向锦
模板添加
|
31
|
q_num = str.length;
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
$(".content")
.append(
'<div class="section section-'
+ answer_index_b
+ ' single" data-fraction="'
+ fraction
+ '" data-score="'
+ (q_num * fraction)
+ '" style="margin-top:80px;"><div class="title"><h3>第'
+ answer_index_b
+ '大题(单选)总分: '
+ q_num
+ ' X '
+ fraction
+ ' = '
+ (q_num * fraction)
|
83b5ddeb
孙向锦
模板添加
|
48
49
50
51
52
53
|
+ ' 分<!--<span>请在试题选项上点击,亮色为该试题的正确答案 </span> --></h3> </div><div class="question_list"></div></div>');
for (var i = 0; i < q_num; i++) {
str_temp = str[i];
str_temp = str_temp.toUpperCase()
code = str_temp.charCodeAt();
on_index = code - 65;
|
10146a46
孙向锦
创建试卷
|
54
|
questionNUm++;
|
83b5ddeb
孙向锦
模板添加
|
55
|
if (code < (65 + a_num)) {
|
5d2c2033
孙向锦
自定义出题
|
56
|
console.log(str_temp);
|
83b5ddeb
孙向锦
模板添加
|
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
$(".section-" + answer_index_b + " .question_list").append(
'<div class="question question' + (questionNUm)
+ '"><span>' + (questionNUm)
+ '、</span><ul></ul></div>');
for (var j = 0; j < a_num; j++) {
option = String.fromCharCode(0x41 + j);
if (on_index == j) {
console.log(on_index + "---" + j);
$(".question" + (questionNUm) + ' ul').append(
'<li class="btn btn-default on">' + option
+ '</li>');
} else
$(".question" + (questionNUm) + ' ul').append(
'<li class="btn btn-default">' + option
+ '</li>');
}
} else {
alert("题目" + (i + 1) + ":" + String.fromCharCode(code)
+ "答案错误,超出选项数");
// return;
|
5d2c2033
孙向锦
自定义出题
|
77
78
|
}
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
79
|
$(".section-" + answer_index_b).attr("data-score", q_num * fraction);
|
10146a46
孙向锦
创建试卷
|
80
81
|
total_score += q_num * fraction;
$("#score_all").text(total_score);
|
5d2c2033
孙向锦
自定义出题
|
82
83
|
}
|
83b5ddeb
孙向锦
模板添加
|
84
|
/***************************************************************************
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
85
|
* 1、单选题 2、完形填空 3、阅读理解 4、判断题 5、多选题 6、数字题
|
83b5ddeb
孙向锦
模板添加
|
86
|
**************************************************************************/
|
5d2c2033
孙向锦
自定义出题
|
87
|
|
83b5ddeb
孙向锦
模板添加
|
88
|
function addQuestion(type, a_num, index_s_2, index_e_2, fraction2) {
|
5d2c2033
孙向锦
自定义出题
|
89
|
console.log(type);
|
83b5ddeb
孙向锦
模板添加
|
90
91
92
93
94
95
96
97
98
|
answer_index_b = $(".section").length + 1;
var question_num = SectionToChinese($(".section").length + 1);
switch (type) {
case 1: // 单选题
// alert(typeof(index_s_2));
$(".content")
.append(
'<div class="section section-'
+ answer_index_b
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
99
|
+ ' single" data-type="1" data-fraction="'
|
83b5ddeb
孙向锦
模板添加
|
100
|
+ fraction2
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
101
102
103
|
+ '" data-score="'
+ ((index_e_2 - index_s_2 + 1) * fraction2)
+ '"> <div class="title"> <h3><span class="que_num">'
|
83b5ddeb
孙向锦
模板添加
|
104
105
106
107
108
109
110
111
112
113
114
115
116
|
+ question_num
+ '、</span>'
+ '<span class="que_name">单选</span></h3> <input type="button" class="btn btn-danger pull-right remove" name="remove" value="删除" /> </div> <div class="question_list"></div></div>');
for (i = index_s_2; i <= index_e_2; i++) {
$(".section-" + answer_index_b + " .question_list").append(
'<div class="question question' + i + '"><span>' + i
+ '、</span><ul></ul></div>');
for (var j = 0; j < a_num; j++) {
option = String.fromCharCode(0x41 + j);
$(".section-" + answer_index_b + " .question" + i + ' ul')
.append(
'<li class="btn btn-default">' + option
+ '</li>');
|
5d2c2033
孙向锦
自定义出题
|
117
|
}
|
83b5ddeb
孙向锦
模板添加
|
118
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
119
120
|
total_score += ((index_e_2 - index_s_2 + 1) * fraction2);
$("#score_all").text(total_score);
|
5d2c2033
孙向锦
自定义出题
|
121
|
break;
|
83b5ddeb
孙向锦
模板添加
|
122
123
124
125
126
|
case 2: // 完形填空
$(".content")
.append(
'<div class="section section-'
+ answer_index_b
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
127
|
+ ' single" data-type="2" data-fraction="'
|
83b5ddeb
孙向锦
模板添加
|
128
|
+ fraction2
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
129
130
131
|
+ '" data-score="'
+ ((index_e_2 - index_s_2 + 1) * fraction2)
+ '"> <div class="title"> <h3><span class="que_num">'
|
83b5ddeb
孙向锦
模板添加
|
132
133
134
135
136
137
138
139
140
141
142
143
|
+ question_num
+ '、</span><span class="que_name">完形填空</span></h3> <input type="button" class="btn btn-danger pull-right remove" name="remove" value="删除" /> </div> <div class="question_list"></div></div>');
for (var i = index_s_2; i <= index_e_2; i++) {
$(".section-" + answer_index_b + " .question_list").append(
'<div class="question question' + i + '"><span>' + i
+ '、</span><ul></ul></div>');
for (var j = 0; j < a_num; j++) {
option = String.fromCharCode(0x41 + j);
$(".section-" + answer_index_b + " .question" + i + ' ul')
.append(
'<li class="btn btn-default">' + option
+ '</li>');
|
5d2c2033
孙向锦
自定义出题
|
144
|
}
|
83b5ddeb
孙向锦
模板添加
|
145
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
146
147
|
total_score += ((index_e_2 - index_s_2 + 1) * fraction2);
$("#score_all").text(total_score);
|
5d2c2033
孙向锦
自定义出题
|
148
|
break;
|
83b5ddeb
孙向锦
模板添加
|
149
150
151
152
153
|
case 3: // 阅读理解
$(".content")
.append(
'<div class="section section-'
+ answer_index_b
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
154
|
+ ' single" data-type="3" data-fraction="'
|
83b5ddeb
孙向锦
模板添加
|
155
|
+ fraction2
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
156
157
158
|
+ '" data-score="'
+ ((index_e_2 - index_s_2 + 1) * fraction2)
+ '"> <div class="title"> <h3><span class="que_num">'
|
83b5ddeb
孙向锦
模板添加
|
159
160
161
162
163
164
165
166
167
168
169
170
|
+ question_num
+ '、</span><span class="que_name">阅读理解</span></h3> <input type="button" class="btn btn-danger pull-right remove" name="remove" value="删除" /> </div> <div class="question_list"></div></div>');
for (var i = index_s_2; i <= index_e_2; i++) {
$(".section-" + answer_index_b + " .question_list").append(
'<div class="question question' + i + '"><span>' + i
+ '、</span><ul></ul></div>');
for (var j = 0; j < a_num; j++) {
option = String.fromCharCode(0x41 + j);
$(".section-" + answer_index_b + " .question" + i + ' ul')
.append(
'<li class="btn btn-default">' + option
+ '</li>');
|
5d2c2033
孙向锦
自定义出题
|
171
|
}
|
83b5ddeb
孙向锦
模板添加
|
172
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
173
174
|
total_score += ((index_e_2 - index_s_2 + 1) * fraction2);
$("#score_all").text(total_score);
|
5d2c2033
孙向锦
自定义出题
|
175
|
break;
|
83b5ddeb
孙向锦
模板添加
|
176
177
178
179
180
|
case 4: // 判断题
$(".content")
.append(
'<div class="section section-'
+ answer_index_b
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
181
|
+ ' single" data-type="4" data-fraction="'
|
83b5ddeb
孙向锦
模板添加
|
182
|
+ fraction2
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
183
184
185
|
+ '" data-score="'
+ ((index_e_2 - index_s_2 + 1) * fraction2)
+ '"> <div class="title"> <h3><span class="que_num">'
|
83b5ddeb
孙向锦
模板添加
|
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
|
+ question_num
+ '、</span><span class="que_name">判断题</span></h3> <input type="button" class="btn btn-danger pull-right remove" name="remove" value="删除" /> </div> <div class="question_list"></div></div>');
for (var i = index_s_2; i <= index_e_2; i++) {
$(".section-" + answer_index_b + " .question_list").append(
'<div class="question question' + i + '"><span>' + i
+ '、</span><ul></ul></div>');
for (var j = 0; j < a_num; j++) {
if (j % 2 == 0)
option = "√";
else
option = "×";
$(".section-" + answer_index_b + " .question" + i + ' ul')
.append(
'<li class="btn btn-default">' + option
+ '</li>');
|
5d2c2033
孙向锦
自定义出题
|
201
|
}
|
83b5ddeb
孙向锦
模板添加
|
202
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
203
204
|
total_score += ((index_e_2 - index_s_2 + 1) * fraction2);
$("#score_all").text(total_score);
|
5d2c2033
孙向锦
自定义出题
|
205
|
break;
|
83b5ddeb
孙向锦
模板添加
|
206
207
208
209
210
211
212
213
214
215
216
217
218
|
/*
* case 5: //多选题 $(".content").append('<div class="section
* section-'+answer_index_b+' check" data-fraction="'+fraction2+'"
* data-score=""> <div class="title"> <h3><span
* class="que_num">'+question_num+'、</span><span class="que_name">多选题</span></h3>
* <input type="button" class="btn btn-danger pull-right remove"
* name="remove" value="删除" /> </div> <div class="question_list"></div></div>');
* for(var i=index_s_2;i<=index_e_2;i++){
* $(".section-"+answer_index_b+" .question_list").append('<div
* class="question question'+i+'"><span>'+i+'、</span><ul></ul></div>');
* for(var j=0;j<a_num;j++){ option=String.fromCharCode(0x41+j);
* $(".section-"+answer_index_b+" .question"+i+' ul').append('<li class="btn btn-default">'+option+'</li>'); } }
*/
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
case 5:
$(".content")
// 多选题
.append(
'<div class="section section-'
+ answer_index_b
+ ' check" data-type="5" data-fraction="'
+ fraction2
+ '" data-score="'
+ ((index_e_2 - index_s_2 + 1) * fraction2)
+ '"> <div class="title"><h3><span class="que_num">'
+ question_num
+ '、</span><span class="que_name">多选题</span></h3><input type="button" class="btn btn-danger pull-right remove" name="remove" value="删除" /> </div> <div class="question_list"></div></div>');
for (var i = index_s_2; i <= index_e_2; i++) {
questionNUm++;
$(".section-" + answer_index_b + " .question_list").append(
'<div class="question question' + i
+ '"><span>' + i
+ '、</span><ul></ul></div>');
for (var j = 0; j < a_num; j++) {
option = String.fromCharCode(0x41 + j);
$(
".section-" + answer_index_b + " .question"
|
7bbf5236
jack
2.限制出题数为64
|
243
|
+ i + ' ul').append(
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
|
'<li class="btn btn-default">' + option + '</li>');
}
}
total_score += ((index_e_2 - index_s_2 + 1) * fraction2);
$("#score_all").text(total_score);
break;
case 6: // 数字题
// $(".content").html("");
$(".content")
.append(
'<div class="section section-'
+ answer_index_b
+ ' number" data-type="6" data-fraction="'
+ fraction2
+ '" data-score="'
+ ((index_e_2 - index_s_2 + 1) * fraction2)
+ '"> <div class="title"><h3><span class="que_num">'
+ question_num
+ '、</span><span class="que_name">数字题</span><!--<span>请在试题选项上点击,亮色为该试题的正确答案 </span>--></h3><input type="button" class="btn btn-danger pull-right remove" name="remove" value="删除" /> </div> <div class="question_list"></div></div>');
for (var i = index_s_2; i <= index_e_2; i++) {
questionNUm++;
$(".section-" + answer_index_b + " .question_list")
.append(
'<div class="question question'
+ i
+ '"><span>'
+ i
|
5f403333
jack
1,完善数字题
|
271
|
+ '、</span><ul><li class="btn btn-default on" contenteditable="true" onkeyup="NumberCheck(this.innerText,this)">请输入答案</li></ul></div>');
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
272
273
274
275
276
277
278
279
280
281
282
|
// for (var j = 0; j < a_num; j++) {
// option = String.fromCharCode(0x41 + j);
// $(
// ".section-" + answer_index_b + " .question"
// + questionNUm + ' ul').append(
// '<li class="btn btn-default">' + option + '</li>');
// }
}
total_score += ((index_e_2 - index_s_2 + 1) * fraction2);
$("#score_all").text(total_score);
break;
|
5d2c2033
孙向锦
自定义出题
|
283
|
}
|
83b5ddeb
孙向锦
模板添加
|
284
285
286
|
// $(".section-"+answer_index_b).attr("data-score",$(".section-"+answer_index_b).find(".question").length*fraction2);
$(".section0").attr("data-score",
$(".section0").find(".question").length * fraction2);
|
5d2c2033
孙向锦
自定义出题
|
287
288
|
}
|
83b5ddeb
孙向锦
模板添加
|
289
|
$(document).on('click', '.remove', function() { // 删除按钮
|
5d2c2033
孙向锦
自定义出题
|
290
|
$(this).parent().parent(".section").remove();
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
291
292
293
294
|
for(i=0;i<$(".section").length;i++){
$(".section").eq(i).find(".que_num").text(SectionToChinese(i+1)+'、');
var className = $(".section").attr("class").replace(/\d+/g,i);
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
295
296
|
$(".section").attr("class",className);
}
|
7bbf5236
jack
2.限制出题数为64
|
297
298
299
300
|
var section = $(this).parent().parent(".section");
var this_score = parseFloat(section.attr("data-score"));
total_score = total_score-this_score;
$("#score_all").text(total_score);
|
5d2c2033
孙向锦
自定义出题
|
301
|
})
|
83b5ddeb
孙向锦
模板添加
|
302
303
|
$("#fast_submit").click(function() { // 点击确定,创建答案列表
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
304
|
// $("#addQuestion").attr("disabled","disabled");
|
83b5ddeb
孙向锦
模板添加
|
305
306
307
308
|
var answer = $("#answer").val();
var num_ans = $("#num_ans").val();
var fraction = $("#fraction").val();
if (answer == '') {
|
ee61a3f0
孙向锦
增强判断
|
309
|
alert("请输入题目答案");
|
5d2c2033
孙向锦
自定义出题
|
310
|
return;
|
83b5ddeb
孙向锦
模板添加
|
311
|
} else if (fraction == '') {
|
5d2c2033
孙向锦
自定义出题
|
312
313
314
|
alert("请输入题目分数");
return;
}
|
10146a46
孙向锦
创建试卷
|
315
|
var frac = parseFloat(fraction);
|
83b5ddeb
孙向锦
模板添加
|
316
317
318
|
if (frac > 0) {
// score += parseInt(fraction)*answer.split(",").length;
creat(answer, num_ans, fraction);
|
67dfaf5c
孙向锦
提交代码
|
319
|
$('.fast').modal('hide');
|
83b5ddeb
孙向锦
模板添加
|
320
|
} else {
|
67dfaf5c
孙向锦
提交代码
|
321
322
323
|
alert("请输入正确分数");
return;
}
|
83b5ddeb
孙向锦
模板添加
|
324
|
})
|
5d2c2033
孙向锦
自定义出题
|
325
|
|
83b5ddeb
孙向锦
模板添加
|
326
327
|
/* 添加试题的确定按钮 */
$("#addQuestion_submit").click(function() {
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
328
329
|
$("#fast").attr("disabled", "disabled");
var type_2 = parseInt($("#type").val());
|
83b5ddeb
孙向锦
模板添加
|
330
331
332
333
334
335
|
var index_s_2 = 1;// parseInt($("#index_s_2").val())
var index_e_2 = parseInt($("#index_s_2").val());
// var answer_2=$("#answer_2").val();
var num_ans_2 = $("#num_ans_2").val();
var fraction2 = parseFloat($("#fraction2").val());
if (isNaN(index_s_2)) {
|
5d2c2033
孙向锦
自定义出题
|
336
337
|
alert("请输入题目开始序号");
return;
|
83b5ddeb
孙向锦
模板添加
|
338
339
|
} else if (isNaN(index_e_2)) {
alert("请输入题目个数");// alert("请输入题目结束序号");
|
5d2c2033
孙向锦
自定义出题
|
340
|
return;
|
83b5ddeb
孙向锦
模板添加
|
341
|
} else if (isNaN(fraction2)) {
|
ee61a3f0
孙向锦
增强判断
|
342
343
|
alert("请输入题目分数");
return;
|
5d2c2033
孙向锦
自定义出题
|
344
|
}
|
67dfaf5c
孙向锦
提交代码
|
345
|
var iindex_e_2 = parseInt(index_e_2);
|
83b5ddeb
孙向锦
模板添加
|
346
|
if (iindex_e_2 < 1 || iindex_e_2 > 100) {
|
67dfaf5c
孙向锦
提交代码
|
347
348
349
|
alert("题目个数不合法");
return;
}
|
83b5ddeb
孙向锦
模板添加
|
350
|
// console.log(typeof(type_2));
|
7bbf5236
jack
2.限制出题数为64
|
351
352
353
354
355
356
357
|
var qestion_num = $(".question").length+index_e_2;
if(qestion_num<=64){
addQuestion(type_2, num_ans_2, index_s_2, index_e_2, fraction2);
$('.addQuestion').modal('hide');
}else{
alert("题目总不能超过64题,请检查后在提交");
}
|
5d2c2033
孙向锦
自定义出题
|
358
|
})
|
83b5ddeb
孙向锦
模板添加
|
359
360
|
$("#type").change(function() {
if ($("#type").val() == 4) {
|
5d2c2033
孙向锦
自定义出题
|
361
|
$("#num_ans_2").val(2);
|
83b5ddeb
孙向锦
模板添加
|
362
|
$("#num_ans_2").attr("disabled", "disabled");
|
8cc83820
jack
1.修改添加数字题后不能选择选项bug
|
363
|
$("#num_ans_2").closest(".form-group").css("display","block");
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
364
365
366
|
}else if($("#type").val() == 6){
$("#num_ans_2").closest(".form-group").css("display","none");
}else {
|
5d2c2033
孙向锦
自定义出题
|
367
368
|
$("#num_ans_2").removeAttr("disabled");
$("#num_ans_2").val(4);
|
8cc83820
jack
1.修改添加数字题后不能选择选项bug
|
369
|
$("#num_ans_2").closest(".form-group").css("display","block");
|
83b5ddeb
孙向锦
模板添加
|
370
|
|
5d2c2033
孙向锦
自定义出题
|
371
372
|
}
})
|
83b5ddeb
孙向锦
模板添加
|
373
374
375
376
|
/* 更改考试时长 */
$("#time_submit").click(function() {
var test_time = $("#enter_time").val();
if (test_time == '') {
|
5d2c2033
孙向锦
自定义出题
|
377
378
379
380
381
382
|
alert("请输入考试时间");
return;
}
$("#time").html(test_time);
$('.test_time').modal('hide');
})
|
83b5ddeb
孙向锦
模板添加
|
383
384
|
/* 更改单选答案 */
$(document).on('click', '.single li', function() {
|
5d2c2033
孙向锦
自定义出题
|
385
386
387
|
$(this).siblings().removeClass("on");
$(this).addClass("on");
})
|
83b5ddeb
孙向锦
模板添加
|
388
389
390
391
|
/* 更改多选答案 */
$(document).on('click', '.check li', function() {
// $(this).siblings().removeClass("on");
if ($(this).hasClass('on')) {
|
67dfaf5c
孙向锦
提交代码
|
392
|
$(this).removeClass("on");
|
83b5ddeb
孙向锦
模板添加
|
393
|
} else {
|
67dfaf5c
孙向锦
提交代码
|
394
395
|
$(this).addClass("on");
}
|
5d2c2033
孙向锦
自定义出题
|
396
|
})
|
83b5ddeb
孙向锦
模板添加
|
397
|
/* 提交保存数据 */
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
398
399
400
|
$("#save")
.click(
function() {
|
83b5ddeb
孙向锦
模板添加
|
401
|
var url = URL;
|
5d2c2033
孙向锦
自定义出题
|
402
|
|
83b5ddeb
孙向锦
模板添加
|
403
404
405
406
407
408
409
410
411
412
413
|
var data = {
title : $(".header_box h1").text(),
exam_time : parseInt($("#time").text()),
paper_type : testData.paper_type,
subject_id : testData.subject_id,
grade_id : testData.grade_id,
user_id : testData.user_id,
school_id : testData.school_id,
score : total_score,
questions : []
}
|
5d2c2033
孙向锦
自定义出题
|
414
|
|
83b5ddeb
孙向锦
模板添加
|
415
416
417
418
419
420
|
if ($(".section").length > 0) {
var rank = 0
for (i = 0; i < $(".section").length; i++) {
// rank++;
data.questions[i] = {
chapter_id : "0",
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
421
|
problem_type_id : $(".section").eq(i).attr("data-type"),
|
83b5ddeb
孙向锦
模板添加
|
422
423
424
425
426
427
428
429
430
431
432
433
434
435
|
knowledge_id : "0",
// content:
// $(".section").eq(i).find(".que_name").text(),
option_num : "",
option_content : "",
answer : "",
difficulty : "",
analysis : "",
question_from : "",
score : parseFloat($(".section").eq(i)
.attr("data-score")),
part_score : "",
remark : "",
rank : rank,
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
436
|
no_name : "",//$(".section").eq(i).find(".que_num").text(),
|
83b5ddeb
孙向锦
模板添加
|
437
438
439
440
441
442
443
444
445
446
447
448
449
450
|
questions : []
}
for (j = 0; j < $(".section").eq(i).find(
".question_list").children(".question").length; j++) {
rank++;
var on_num = $(".section").eq(i).find(
".question").eq(j).find(".on").length;
var answer = "";
for (k = 0; k < on_num; k++) {
answer += $(".section").eq(i).find(
".question").eq(j).find(".on")
.eq(k).text();
// console.log(answer);
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
451
452
|
if (answer == ''
|| answer.indexOf("请输入答案") >= 0) {
|
83b5ddeb
孙向锦
模板添加
|
453
454
455
456
457
|
alert("还有试题未编辑答案。");
return;
}
data.questions[i].questions[j] = {
chapter_id : "0",
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
458
|
problem_type_id : $(".section").eq(i).attr("data-type"),//"0",//data-type="1"
|
83b5ddeb
孙向锦
模板添加
|
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
|
knowledge_id : "0",
content : "",
option_num : $(".section").eq(i).find(
".question").eq(j).find("li").length,
option_content : "",
answer : answer,
difficulty : "0",
analysis : "",
question_from : "1",
score : parseFloat($(".section").eq(i)
.attr("data-fraction")),
part_score : "0",
remark : "",
rank : rank,
no_name : rank,
}
}
}
}
if (data.questions.length > 0) {
data = JSON.stringify(data);
dataJson = {
"json" : data
};
console.log(data);
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
485
|
ajax_submit(url, dataJson);
|
83b5ddeb
孙向锦
模板添加
|
486
487
488
|
} else
alert("请添加试题");
});
|
5d2c2033
孙向锦
自定义出题
|
489
|
|
83b5ddeb
孙向锦
模板添加
|
490
491
492
493
494
495
496
497
498
499
500
501
|
/* ajax封装函数 */
function ajax_submit(url, data) {
$(".loading").css("display", "block");
console.log(data);
$.ajax({
url : url,
type : "POST",
data : data,
dataType : "json",
contentType : "application/x-www-form-urlencoded; charset=utf-8",
success : function(data) {
$(".loading").css("display", "none");
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
502
503
504
505
506
507
508
|
if (testData.paper_type == '1') {
window.location.href = JUMP_URL
+ "?a=1&defaulturl=../paper/list2.do";
} else {
window.location.href = JUMP_URL
+ "?a=1&defaulturl=../paper/list5.do?school_id="
+ testData.school_id;
|
4b347a15
孙向锦
修改编辑试题后,添加的返回路径
|
509
|
}
|
83b5ddeb
孙向锦
模板添加
|
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
|
}
})
}
function fastSort(array, head, tail) {
// 考虑到给每个分区操作的时候都是在原有的数组中进行操作的,所以这里head,tail来确定分片的位置
/* 生成随机项 */
var randomnum = parseInt((head + tail) / 2);
var random = array[randomnum];
/* 将小于random的项放置在其左边 策略就是通过一个临时的数组来储存分好区的结果,再到原数组中替换 */
var arrayTemp = [];
var unshiftHead = 0;
for (var i = head; i <= tail; i++) {
if (parseInt(array[i].rank) < parseInt(random.rank)) {
arrayTemp.unshift(array[i]);
unshiftHead++;
} else if (parseInt(array[i].rank) > parseInt(random.rank)) {
arrayTemp.push(array[i]);
}
/* 当它等于的时候放哪,这里我想选择放到队列的前面,也就是从unshift后的第一个位置放置 */
if (parseInt(array[i].rank) === parseInt(random.rank)) {
arrayTemp.splice(unshiftHead, 0, array[i]);
}
|
5d2c2033
孙向锦
自定义出题
|
532
|
}
|
83b5ddeb
孙向锦
模板添加
|
533
534
535
536
537
538
|
/* 将对应项覆盖原来的记录 */
for (var j = head, u = 0; j <= tail; j++, u++) {
array.splice(j, 1, arrayTemp[u]);
}
/* 寻找中间项所在的index */
var nowIndex = array.indexOf(random);
|
5d2c2033
孙向锦
自定义出题
|
539
|
|
83b5ddeb
孙向锦
模板添加
|
540
541
542
|
/* 设置出口,当要放进去的片段只有2项的时候就可以收工了 */
if (arrayTemp.length <= 2) {
return;
|
5d2c2033
孙向锦
自定义出题
|
543
|
}
|
83b5ddeb
孙向锦
模板添加
|
544
545
546
|
/* 递归,同时应用其左右两个区域 */
fastSort(array, head, nowIndex);
fastSort(array, nowIndex + 1, tail);
|
5d2c2033
孙向锦
自定义出题
|
547
|
}
|
83b5ddeb
孙向锦
模板添加
|
548
|
function creatHtml(data) {
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
549
550
551
552
553
554
555
556
557
558
559
|
data.questions.sort(function(a, b) {
// if (a.rank < b.rank) {
// return -1;
// } else if (a.rank == b.rank) {
// return 0;
// } else {
// return 1;
// }
var rankA = isNaN(parseInt(a.rank)) ? 0 : parseInt(a.rank);
var rankB = isNaN(parseInt(b.rank)) ? 0 : parseInt(b.rank);
return rankA - rankB;
|
96cc2079
jack
1.轻松考-增加题目根据rank字...
|
560
|
})
|
5d2c2033
孙向锦
自定义出题
|
561
|
console.log(data);
|
83b5ddeb
孙向锦
模板添加
|
562
|
$(".header_box h1").html(data.title);
|
5d2c2033
孙向锦
自定义出题
|
563
|
$("#time").html(data.exam_time);
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
564
|
if (data.score != null && data.score > 0 && data.score != '') {
|
83b5ddeb
孙向锦
模板添加
|
565
566
567
568
|
$("#score_all").html(data.score);
}
if (data.questions.length > 0) {
|
0b46638a
孙向锦
标准答案
|
569
570
571
572
|
$(".time").removeAttr("data-target");
$(".remove").remove();
$(".btn_box").remove();
}
|
83b5ddeb
孙向锦
模板添加
|
573
574
575
|
for (var i = 0; i < data.questions.length; i++) {
if (data.questions[i].questions) {
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
576
577
578
579
580
581
582
583
584
585
586
|
var sortTemp = data.questions[i].questions.sort(function(a, b) {
// if (parseInt(a.rank) < parseInt(b.rank)) {
// return -1;
// } else if (a.rank == b.rank) {
// return 0;
// } else {
// return 1;
// }
var rankA = isNaN(parseInt(a.rank)) ? 0 : parseInt(a.rank);
var rankB = isNaN(parseInt(b.rank)) ? 0 : parseInt(b.rank);
return rankA - rankB;
|
96cc2079
jack
1.轻松考-增加题目根据rank字...
|
587
588
|
})
console.log(sortTemp)
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
589
590
591
592
593
594
595
|
var tixing = "";
switch(data.questions[i].problem_type_id){
case '1':tixing="单选题";break;
case '5':tixing="多选题";break;
case '4':tixing="判断题";break;
case '6':tixing="数字题";break;
}
|
83b5ddeb
孙向锦
模板添加
|
596
597
598
599
|
$(".content")
.append(
'<div class="section section-'
+ i
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
600
|
+ '" data-type="'+data.questions[i].problem_type_id+'" data-fraction="'
|
83b5ddeb
孙向锦
模板添加
|
601
|
+ data.questions[i].score
|
ffa525ff
孙向锦
修改出卷页面
|
602
|
+ '" style="margin-top:80px;"> <h3><span class="que_num">'
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
603
604
605
|
+SectionToChinese(i+1)+'、'
+ tixing
+ '(总分:'
|
83b5ddeb
孙向锦
模板添加
|
606
607
608
609
610
|
+ data.questions[i].questions.length
+ " X "
+ (parseFloat(data.questions[i].sug_score) / data.questions[i].questions.length)
+ " = "
+ data.questions[i].sug_score
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
611
|
+ '分)</span>'
|
83b5ddeb
孙向锦
模板添加
|
612
613
614
615
616
617
618
|
+ '<span class="que_name">'
+ data.questions[i].content
+ '</span></h3><!-- <input type="button" class="btn btn-danger pull-right remove" name="remove" value="删除" /> --> <div class="question_list"></div></div>');
} else {
if (i == 0) {
$(".content")
.append(
|
ffa525ff
孙向锦
修改出卷页面
|
619
|
'<div class="section section0"> <div class="question_list" style="margin-top:80px"></div></div>');
|
0b46638a
孙向锦
标准答案
|
620
|
}
|
83b5ddeb
孙向锦
模板添加
|
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
|
$(".section0").find(".question_list").append(
'<div class="question question' + (i + 1) + '"><span>'
+ (++questionNUm) + '、</span><ul></ul></div>');
for (var k = 0; k < parseInt(data.questions[i].option_num); k++) {
str_temp = data.questions[i].answer;
$(".section0").find(".question" + (i + 1) + ' ul').append(
'<li class="btn btn-default">'
+ String.fromCharCode(0x41 + k) + '</li>');
for (var l = 0; l < str_temp.length; l++) {
str_temp_arry = str_temp.split('');
code = str_temp_arry[l].charCodeAt();
on_index = code - 65;
if (on_index == k) {
$(".section0").find(
".question" + (i + 1) + ' ul li').eq(
on_index).attr("class",
"btn btn-default on");
}
|
0b46638a
孙向锦
标准答案
|
639
640
|
}
}
|
5d2c2033
孙向锦
自定义出题
|
641
|
}
|
83b5ddeb
孙向锦
模板添加
|
642
643
644
645
646
647
648
|
if (data.questions[i].questions) {
for (var j = 0; j < data.questions[i].questions.length; j++) {
$(".section-" + i).find(".question_list").append(
'<div class="question question' + (j + 1)
+ '"><span>' + (++questionNUm)
+ '、</span><ul></ul></div>');
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
649
|
if ($(".section-" + i).attr("data-type") == "4") {
|
83b5ddeb
孙向锦
模板添加
|
650
651
652
653
654
655
656
657
658
659
|
for (var k = 0; k < parseInt(data.questions[i].questions[j].option_num); k++) {
str_temp = data.questions[i].questions[j].answer;
if (k % 2 == 0) {
$(".section-" + i).find(
".question" + (j + 1) + ' ul').append(
'<li class="btn btn-default">√</li>');
} else if (k % 2 == 1) {
$(".section-" + i).find(
".question" + (j + 1) + ' ul').append(
'<li class="btn btn-default">×</li>');
|
0b46638a
孙向锦
标准答案
|
660
|
}
|
83b5ddeb
孙向锦
模板添加
|
661
662
663
664
665
|
if (str_temp == "√")
$(".section-" + i).find(
".question" + (j + 1) + ' ul li').eq(0)
.attr("class", "btn btn-default on");
|
0b46638a
孙向锦
标准答案
|
666
|
else
|
83b5ddeb
孙向锦
模板添加
|
667
668
669
|
$(".section-" + i).find(
".question" + (j + 1) + ' ul li').eq(1)
.attr("class", "btn btn-default on");
|
5d2c2033
孙向锦
自定义出题
|
670
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
671
672
673
674
675
676
677
|
}else if($(".section-" + i).attr("data-type") == "6"){
str_temp = data.questions[i].questions[j].answer;
$(".section-" + i).find(
".question" + (j + 1) + ' ul').append(
'<li class="btn btn-default on">'+str_temp+'</li>');
if(!$(".section-" + i).hasClass("number"))
$(".section-" + i).addClass("number");
|
83b5ddeb
孙向锦
模板添加
|
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
|
} else {
for (var k = 0; k < parseInt(data.questions[i].questions[j].option_num); k++) {
str_temp = data.questions[i].questions[j].answer;
$(".section-" + i).find(
".question" + (j + 1) + ' ul').append(
'<li class="btn btn-default">'
+ String.fromCharCode(0x41 + k)
+ '</li>');
for (var l = 0; l < str_temp.length; l++) {
str_temp_arry = str_temp.split('');
code = str_temp_arry[l].charCodeAt();
on_index = code - 65;
if (on_index == k) {
$(".section-" + i).find(
".question" + (j + 1) + ' ul li')
.eq(on_index).attr("class",
"btn btn-default on");
}
|
0b46638a
孙向锦
标准答案
|
696
|
}
|
5d2c2033
孙向锦
自定义出题
|
697
698
699
700
701
702
|
}
}
}
}
}
}
|
7242423d
孙向锦
添加固件管理
|
703
|
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
704
|
/* 快速建题中,每输入五个答案就加一个空格 */
|
83b5ddeb
孙向锦
模板添加
|
705
706
707
708
709
710
711
712
713
714
715
|
$("#answer").on("input propertychange", function(event) {
var answerStr = "";
answerStr = $("#answer").val();
var result = "";
if (answerStr.length > 5) {
answerStr = answerStr.replace(new RegExp(" ", "gm"), "");
for (var i = 0; i < answerStr.length; i++) {
result += answerStr[i];
if (i % 5 == 4 && i != answerStr.length - 1) {
result += " ";
}
|
0b46638a
孙向锦
标准答案
|
716
|
}
|
83b5ddeb
孙向锦
模板添加
|
717
718
|
} else {
result = answerStr;
|
7242423d
孙向锦
添加固件管理
|
719
|
}
|
83b5ddeb
孙向锦
模板添加
|
720
721
722
723
724
725
726
|
$("#answer").val(result);
if (answerStr.length > 0) {
$(".tips").text("共" + answerStr.length + "题");
} else {
$(".tips").text("");
}
})
|
5d2c2033
孙向锦
自定义出题
|
727
|
|
83b5ddeb
孙向锦
模板添加
|
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
|
function SectionToChinese(section) {
var strIns = '', chnStr = '';
var unitPos = 0;
var zero = true;
while (section > 0) {
var v = section % 10;
if (v === 0) {
if (!zero) {
zero = true;
chnStr = chnNumChar[v] + chnStr;
}
} else {
zero = false;
strIns = chnNumChar[v];
strIns += chnUnitChar[unitPos];
chnStr = strIns + chnStr;
}
unitPos++;
section = Math.floor(section / 10);
}
return chnStr;
}
|
5d2c2033
孙向锦
自定义出题
|
750
|
|
83b5ddeb
孙向锦
模板添加
|
751
|
if (template != null && template.length > 0) {
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
752
753
754
755
756
757
758
759
|
$("#addQuestion").attr("disabled", "disabled");
$("#fast").attr("disabled", "disabled");
for (var i = 0; i < template.length; i++) {
if (template[i].type == 1) {
var answer = "";
for (var j = 0; j < template[i].questionNum; j++) {
answer += "1";
|
83b5ddeb
孙向锦
模板添加
|
760
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
761
|
creat(answer, template[i].optionNum, template[i].score);
|
83b5ddeb
孙向锦
模板添加
|
762
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
763
764
765
|
if (template[i].type == 2) {
addQuestion(5, template[i].optionNum, 1,
template[i].questionNum, template[i].score);
|
eef2f078
孙向锦
修改域名问题
|
766
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
767
768
769
770
771
772
773
774
775
776
777
|
}
if (testData != null) {
$(".header_box h1").html(testData.title);
$("#time").html(testData.exam_time);
if (testData.score != null && testData.score > 0
&& testData.score != '') {
$("#score_all").html(testData.score);
}
}
} else if (testData != null && testData.questions != null
|
83b5ddeb
孙向锦
模板添加
|
778
779
780
|
&& testData.questions.length > 0) {
fastSort(testData.questions, 0, testData.questions.length - 1);
for (var i = 0; i < testData.questions.length; i++) {
|
5d2c2033
孙向锦
自定义出题
|
781
|
|
83b5ddeb
孙向锦
模板添加
|
782
783
784
785
786
787
788
|
if (testData.questions[0].questions
&& testData.questions[0].questions.length > 1) {
fastSort(testData.questions[i].questions, 0,
testData.questions[i].questions.length - 1);
}
}
creatHtml(testData);
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
789
790
|
} else {
if (testData != null) {
|
ffa525ff
孙向锦
修改出卷页面
|
791
792
|
$(".header_box h1").html(testData.title);
$("#time").html(testData.exam_time);
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
793
794
|
if (testData.score != null && testData.score > 0
&& testData.score != '') {
|
ffa525ff
孙向锦
修改出卷页面
|
795
796
797
|
$("#score_all").html(testData.score);
}
}
|
83b5ddeb
孙向锦
模板添加
|
798
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
799
800
801
|
$(".content").on("focus", ".number .on", function() {
if ($(this).text() == "请输入答案")
|
803a7d44
jack
1.增加数字题
|
802
|
$(this).text("");
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
803
|
|
803a7d44
jack
1.增加数字题
|
804
|
})
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
805
806
|
$(".content").on("blur", ".number .on", function() {
if ($(this).text() == "") {
|
803a7d44
jack
1.增加数字题
|
807
808
|
$(this).text("请输入答案");
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
809
|
|
803a7d44
jack
1.增加数字题
|
810
|
})
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
811
|
|
83b5ddeb
孙向锦
模板添加
|
812
|
})
|
803a7d44
jack
1.增加数字题
|
813
814
815
|
/**
* 数字校验
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
816
|
*
|
803a7d44
jack
1.增加数字题
|
817
818
|
* @param e
*/
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
|
function keydown2(e) {
var reg = /^[0-9]*$/;
console.log(reg.test(e.text()));
console.log(e.text())
if (!reg.test(e.text())) {
e.text("");
}
}
function NumberCheck(num, obj) {
var str = num;
// callback(str,obj)
console.log("num:" + num)
var len1 = str.substr(0, 1);
var len2 = str.substr(1, 1);
// 如果第一位是0,第二位不是点,就用数字把点替换掉
if (str.length > 1 && len1 == 0 && len2 != ".") {
str = str.substr(1, 1);
}
// 第一位不能是.
if (len1 == ".") {
str = "";
}
// 限制只能输入一个小数点
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1);
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1);
|
803a7d44
jack
1.增加数字题
|
847
848
|
}
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
849
850
851
852
|
// 正则替换,保留数字和小数点
str = str.replace(/[^\-?\d.]/g, '')
obj.innerText = str
|
803a7d44
jack
1.增加数字题
|
853
|
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
854
|
callback(str, obj)
|
5f403333
jack
1,完善数字题
|
855
|
}
|
32d27bdc
jack
1.增加判断题和数字题,调试更改上传数据
|
856
857
|
function callback(tp, obj) {
var _div = obj// document.querySelector('.number .on');
|
5f403333
jack
1,完善数字题
|
858
859
860
861
862
863
864
865
|
var range = document.createRange();
range.selectNodeContents(_div);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
|
803a7d44
jack
1.增加数字题
|
866
|
}
|