Commit 5f403333f85c6de95ebaa0c82d8ca5912e0a9af0

Authored by jack
1 parent 803a7d44

1,完善数字题

WebRoot/WEB-INF/jsp/sunvote/teacher/creat_question.jsp
... ... @@ -41,41 +41,7 @@
41 41 </div>
42 42  
43 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 45 </div>
80 46  
81 47 <!-- 快速出题 -->
... ...
WebRoot/static/js/control-604.js
... ... @@ -190,43 +190,77 @@ $(function() {
190 190 * for(var j=0;j<a_num;j++){ option=String.fromCharCode(0x41+j);
191 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 265 // $(".section-"+answer_index_b).attr("data-score",$(".section-"+answer_index_b).find(".question").length*fraction2);
232 266 $(".section0").attr("data-score",
... ... @@ -375,7 +409,7 @@ $(function() {
375 409 .eq(k).text();
376 410 // console.log(answer);
377 411 }
378   - if (answer == '') {
  412 + if (answer == ''||answer.indexOf("请输入答案")>=0) {
379 413 alert("还有试题未编辑答案。");
380 414 return;
381 415 }
... ... @@ -736,8 +770,10 @@ function keydown2(e){
736 770 }
737 771 }
738 772  
739   -function NumberCheck(num) {
  773 +function NumberCheck(num,obj) {
740 774 var str = num;
  775 + //callback(str,obj)
  776 + console.log("num:"+num)
741 777 var len1 = str.substr(0, 1);
742 778 var len2 = str.substr(1, 1);
743 779 //如果第一位是0,第二位不是点,就用数字把点替换掉
... ... @@ -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 }
... ...