Commit 5f403333f85c6de95ebaa0c82d8ca5912e0a9af0

Authored by jack
1 parent 803a7d44

1,完善数字题

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>请在试题选项上点击,亮色为该试题的正确答案&nbsp; </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>请在试题选项上点击,亮色为该试题的正确答案&nbsp; </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>请在试题选项上点击,亮色为该试题的正确答案&nbsp; </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 }