Commit 5f403333f85c6de95ebaa0c82d8ca5912e0a9af0
1 parent
803a7d44
1,完善数字题
Showing
2 changed files
with
92 additions
and
78 deletions
WebRoot/WEB-INF/jsp/sunvote/teacher/creat_question.jsp
@@ -41,41 +41,7 @@ | @@ -41,41 +41,7 @@ | ||
41 | </div> | 41 | </div> |
42 | 42 | ||
43 | <div class="content container"> | 43 | <div class="content container"> |
44 | - <div class="section section-1 number" data-fraction="1" data-score=""> | ||
45 | - <div class="title"> | ||
46 | - <h3> | ||
47 | - <span class="que_num">一、</span><span class="que_name">单选</span> | ||
48 | - </h3> | ||
49 | - <input type="button" class="btn btn-danger pull-right remove" | ||
50 | - name="remove" value="删除"> | ||
51 | - </div> | ||
52 | - <div class="question_list"> | ||
53 | - <div class="question question1"> | ||
54 | - <span>1、</span> | ||
55 | - <ul> | ||
56 | - <li class="btn btn-default on" contenteditable="true" onkeydown="$(this).text(NumberCheck($(this).text()))">请输入答案</li> | ||
57 | - </ul> | ||
58 | - </div> | ||
59 | - <div class="question question2"> | ||
60 | - <span>2、</span> | ||
61 | - <ul> | ||
62 | - <li class="btn btn-default on" contenteditable="true">请输入答案</li> | ||
63 | - </ul> | ||
64 | - </div> | ||
65 | - <div class="question question3"> | ||
66 | - <span>3、</span> | ||
67 | - <ul> | ||
68 | - <li class="btn btn-default on" contenteditable="true">请输入答案</li> | ||
69 | - </ul> | ||
70 | - </div> | ||
71 | - <div class="question question4"> | ||
72 | - <span>4、</span> | ||
73 | - <ul> | ||
74 | - <li class="btn btn-default on" contenteditable="true">请输入答案</li> | ||
75 | - </ul> | ||
76 | - </div> | ||
77 | - </div> | ||
78 | - </div> | 44 | + |
79 | </div> | 45 | </div> |
80 | 46 | ||
81 | <!-- 快速出题 --> | 47 | <!-- 快速出题 --> |
WebRoot/static/js/control-604.js
@@ -190,43 +190,77 @@ $(function() { | @@ -190,43 +190,77 @@ $(function() { | ||
190 | * for(var j=0;j<a_num;j++){ option=String.fromCharCode(0x41+j); | 190 | * for(var j=0;j<a_num;j++){ option=String.fromCharCode(0x41+j); |
191 | * $(".section-"+answer_index_b+" .question"+i+' ul').append('<li class="btn btn-default">'+option+'</li>'); } } | 191 | * $(".section-"+answer_index_b+" .question"+i+' ul').append('<li class="btn btn-default">'+option+'</li>'); } } |
192 | */ | 192 | */ |
193 | - case 5: // 多选题 | ||
194 | - // $(".content").html(""); | ||
195 | - $(".content") | ||
196 | - .append( | ||
197 | - '<div class="section section-' | ||
198 | - + answer_index_b | ||
199 | - + ' check" data-fraction="' | ||
200 | - + fraction2 | ||
201 | - + '" data-score="' | ||
202 | - + ((index_e_2 - index_s_2 + 1) * fraction2) | ||
203 | - + '"> <div class="title"><h3>第' | ||
204 | - + answer_index_b | ||
205 | - + '大题(多选)总分: ' | ||
206 | - + (index_e_2 - index_s_2 + 1) | ||
207 | - + ' X ' | ||
208 | - + fraction2 | ||
209 | - + ' = ' | ||
210 | - + ((index_e_2 - index_s_2 + 1) * fraction2) | ||
211 | - + ' 分<!--<span>请在试题选项上点击,亮色为该试题的正确答案 </span>--></h3> </div> <div class="question_list"></div></div>'); | ||
212 | - for (var i = index_s_2; i <= index_e_2; i++) { | ||
213 | - questionNUm++; | ||
214 | - $(".section-" + answer_index_b + " .question_list").append( | ||
215 | - '<div class="question question' + questionNUm | ||
216 | - + '"><span>' + questionNUm | ||
217 | - + '、</span><ul></ul></div>'); | ||
218 | - for (var j = 0; j < a_num; j++) { | ||
219 | - option = String.fromCharCode(0x41 + j); | ||
220 | - $( | ||
221 | - ".section-" + answer_index_b + " .question" | ||
222 | - + questionNUm + ' ul').append( | ||
223 | - '<li class="btn btn-default">' + option + '</li>'); | ||
224 | - } | ||
225 | - } | ||
226 | - total_score += ((index_e_2 - index_s_2 + 1) * fraction2); | ||
227 | - $("#score_all").text(total_score); | ||
228 | - break; | ||
229 | - case 6: break; | 193 | + |
194 | + case 5: $(".content") //多选题 | ||
195 | + .append( | ||
196 | + '<div class="section section-' | ||
197 | + + answer_index_b | ||
198 | + + ' check" data-fraction="' | ||
199 | + + fraction2 | ||
200 | + + '" data-score="' | ||
201 | + + ((index_e_2 - index_s_2 + 1) * fraction2) | ||
202 | + + '"> <div class="title"><h3>第' | ||
203 | + + answer_index_b | ||
204 | + + '大题(多选)总分: ' | ||
205 | + + (index_e_2 - index_s_2 + 1) | ||
206 | + + ' X ' | ||
207 | + + fraction2 | ||
208 | + + ' = ' | ||
209 | + + ((index_e_2 - index_s_2 + 1) * fraction2) | ||
210 | + + ' 分<!--<span>请在试题选项上点击,亮色为该试题的正确答案 </span>--></h3> </div> <div class="question_list"></div></div>'); | ||
211 | + for (var i = index_s_2; i <= index_e_2; i++) { | ||
212 | + questionNUm++; | ||
213 | + $(".section-" + answer_index_b + " .question_list").append( | ||
214 | + '<div class="question question' + questionNUm | ||
215 | + + '"><span>' + questionNUm | ||
216 | + + '、</span><ul></ul></div>'); | ||
217 | + for (var j = 0; j < a_num; j++) { | ||
218 | + option = String.fromCharCode(0x41 + j); | ||
219 | + $( | ||
220 | + ".section-" + answer_index_b + " .question" | ||
221 | + + questionNUm + ' ul').append( | ||
222 | + '<li class="btn btn-default">' + option + '</li>'); | ||
223 | + } | ||
224 | + } | ||
225 | + total_score += ((index_e_2 - index_s_2 + 1) * fraction2); | ||
226 | + $("#score_all").text(total_score); | ||
227 | + break; | ||
228 | + case 6: // 数字题 | ||
229 | + // $(".content").html(""); | ||
230 | + $(".content") | ||
231 | + .append( | ||
232 | + '<div class="section section-' | ||
233 | + + answer_index_b | ||
234 | + + ' number" data-fraction="' | ||
235 | + + fraction2 | ||
236 | + + '" data-score="' | ||
237 | + + ((index_e_2 - index_s_2 + 1) * fraction2) | ||
238 | + + '"> <div class="title"><h3>第' | ||
239 | + + answer_index_b | ||
240 | + + '大题(数字题)总分: ' | ||
241 | + + (index_e_2 - index_s_2 + 1) | ||
242 | + + ' X ' | ||
243 | + + fraction2 | ||
244 | + + ' = ' | ||
245 | + + ((index_e_2 - index_s_2 + 1) * fraction2) | ||
246 | + + ' 分<!--<span>请在试题选项上点击,亮色为该试题的正确答案 </span>--></h3> </div> <div class="question_list"></div></div>'); | ||
247 | + for (var i = index_s_2; i <= index_e_2; i++) { | ||
248 | + questionNUm++; | ||
249 | + $(".section-" + answer_index_b + " .question_list").append( | ||
250 | + '<div class="question question' + questionNUm | ||
251 | + + '"><span>' + questionNUm | ||
252 | + + '、</span><ul><li class="btn btn-default on" contenteditable="true" onkeyup="NumberCheck(this.innerText,this)">请输入答案</li></ul></div>'); | ||
253 | +// for (var j = 0; j < a_num; j++) { | ||
254 | +// option = String.fromCharCode(0x41 + j); | ||
255 | +// $( | ||
256 | +// ".section-" + answer_index_b + " .question" | ||
257 | +// + questionNUm + ' ul').append( | ||
258 | +// '<li class="btn btn-default">' + option + '</li>'); | ||
259 | +// } | ||
260 | + } | ||
261 | + total_score += ((index_e_2 - index_s_2 + 1) * fraction2); | ||
262 | + $("#score_all").text(total_score); | ||
263 | + break; | ||
230 | } | 264 | } |
231 | // $(".section-"+answer_index_b).attr("data-score",$(".section-"+answer_index_b).find(".question").length*fraction2); | 265 | // $(".section-"+answer_index_b).attr("data-score",$(".section-"+answer_index_b).find(".question").length*fraction2); |
232 | $(".section0").attr("data-score", | 266 | $(".section0").attr("data-score", |
@@ -375,7 +409,7 @@ $(function() { | @@ -375,7 +409,7 @@ $(function() { | ||
375 | .eq(k).text(); | 409 | .eq(k).text(); |
376 | // console.log(answer); | 410 | // console.log(answer); |
377 | } | 411 | } |
378 | - if (answer == '') { | 412 | + if (answer == ''||answer.indexOf("请输入答案")>=0) { |
379 | alert("还有试题未编辑答案。"); | 413 | alert("还有试题未编辑答案。"); |
380 | return; | 414 | return; |
381 | } | 415 | } |
@@ -736,8 +770,10 @@ function keydown2(e){ | @@ -736,8 +770,10 @@ function keydown2(e){ | ||
736 | } | 770 | } |
737 | } | 771 | } |
738 | 772 | ||
739 | -function NumberCheck(num) { | 773 | +function NumberCheck(num,obj) { |
740 | var str = num; | 774 | var str = num; |
775 | + //callback(str,obj) | ||
776 | + console.log("num:"+num) | ||
741 | var len1 = str.substr(0, 1); | 777 | var len1 = str.substr(0, 1); |
742 | var len2 = str.substr(1, 1); | 778 | var len2 = str.substr(1, 1); |
743 | //如果第一位是0,第二位不是点,就用数字把点替换掉 | 779 | //如果第一位是0,第二位不是点,就用数字把点替换掉 |
@@ -756,8 +792,20 @@ function NumberCheck(num) { | @@ -756,8 +792,20 @@ function NumberCheck(num) { | ||
756 | } | 792 | } |
757 | } | 793 | } |
758 | //正则替换,保留数字和小数点 | 794 | //正则替换,保留数字和小数点 |
759 | - str = str.replace(/[^\d^\.]+/g,'') | ||
760 | - //如果需要保留小数点后两位,则用下面公式 | ||
761 | - //str = str.replace(/\.\d\d$/,'') | ||
762 | - return str; | 795 | + str = str.replace(/[^\-?\d.]/g,'') |
796 | + | ||
797 | + obj.innerText=str | ||
798 | + | ||
799 | + callback(str,obj) | ||
800 | +} | ||
801 | +function callback(tp,obj) { | ||
802 | + var _div = obj//document.querySelector('.number .on'); | ||
803 | + var range = document.createRange(); | ||
804 | + | ||
805 | + range.selectNodeContents(_div); | ||
806 | + range.collapse(false); | ||
807 | + | ||
808 | + var sel = window.getSelection(); | ||
809 | + sel.removeAllRanges(); | ||
810 | + sel.addRange(range); | ||
763 | } | 811 | } |