Difference between revisions of "AutoSum numerical text grid"
(Created page with '== Challenge == We need to sum numbers in a == Example == Image:AutoSum.png == Script == <source> var even = "even"; var AddTotalRowToGrid = true; var UpdateSelfDefi…') |
(Marked this version for translation) |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | == Challenge == | + | <translate> |
+ | == Challenge == <!--T:1--> | ||
− | We need to sum numbers in a | + | <!--T:2--> |
− | + | We need to sum numbers in a <br> | |
− | + | '''Example'''<br> | |
[[Image:AutoSum.png]] | [[Image:AutoSum.png]] | ||
− | + | == Solution == <!--T:3--> | |
− | == | + | *Create a text grid question |
− | <source> | + | *Add the below script to that question |
+ | == Code == | ||
+ | <source lang="javascript" line="1"> | ||
var even = "even"; | var even = "even"; | ||
− | |||
var AddTotalRowToGrid = true; | var AddTotalRowToGrid = true; | ||
− | |||
var UpdateSelfDefinedElement = false; | var UpdateSelfDefinedElement = false; | ||
− | + | <!--T:4--> | |
− | + | function recalc() | |
− | function recalc() { | + | { |
− | |||
var tmpval; | var tmpval; | ||
− | |||
var tmpnumber = 0; | var tmpnumber = 0; | ||
− | + | <!--T:5--> | |
− | + | $("input:text").each( | |
− | |||
− | |||
function(i) | function(i) | ||
− | |||
{ | { | ||
− | |||
if ($(this).attr("name").indexOf("QUESTION.") == 0) | if ($(this).attr("name").indexOf("QUESTION.") == 0) | ||
− | |||
{ | { | ||
− | |||
tmpval = $(this).val(); | tmpval = $(this).val(); | ||
− | |||
if(tmpval != "" && !isNaN(tmpval)) { | if(tmpval != "" && !isNaN(tmpval)) { | ||
− | |||
//DEBUGGING ALERT FOR GETTING THE ACTUAL VALUE | //DEBUGGING ALERT FOR GETTING THE ACTUAL VALUE | ||
− | |||
//alert("|" + parseInt(tmpval) + "|"); | //alert("|" + parseInt(tmpval) + "|"); | ||
− | |||
tmpnumber += parseInt(tmpval); | tmpnumber += parseInt(tmpval); | ||
− | |||
} | } | ||
− | |||
} | } | ||
− | |||
} | } | ||
− | |||
); | ); | ||
− | |||
if(UpdateSelfDefinedElement) | if(UpdateSelfDefinedElement) | ||
− | |||
$("#AUTOSUMSELFDEFINED").text("Sum Equals: " + tmpnumber); | $("#AUTOSUMSELFDEFINED").text("Sum Equals: " + tmpnumber); | ||
− | |||
if(AddTotalRowToGrid) | if(AddTotalRowToGrid) | ||
− | |||
$("#AUTOSUM").text("Sum Equals: " + tmpnumber); | $("#AUTOSUM").text("Sum Equals: " + tmpnumber); | ||
− | |||
} | } | ||
− | + | <!--T:6--> | |
− | |||
quest.onInit = function() | quest.onInit = function() | ||
− | |||
{ | { | ||
+ | $("input:text").each( | ||
− | + | <!--T:7--> | |
− | |||
function(i) | function(i) | ||
+ | { | ||
+ | if ($(this).attr("name").indexOf("QUESTION.") == 0) | ||
+ | { | ||
+ | $(this).keyup(function(){recalc()}); | ||
+ | } | ||
+ | } | ||
+ | ); | ||
− | + | if(AddTotalRowToGrid) | |
− | |||
− | if ( | ||
− | |||
{ | { | ||
− | + | $(".grid_inner").append("<tr rowheight=\"12pt\"><td colspan=2 class=\"grid_subquestion_text grid_subquestion_" + even + "\" style=\"height: 20px;\"><p id=\"AUTOSUM\">Undefined</p></td></tr>"); | |
− | $( | ||
− | |||
} | } | ||
− | + | recalc(); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | recalc(); | ||
− | |||
} | } | ||
</source> | </source> | ||
+ | == Source == <!--T:8--> | ||
+ | Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q7_AutoSum_numerical_text_grid) | ||
+ | </translate> |
Latest revision as of 08:53, 3 August 2017
Contents
Challenge
We need to sum numbers in a
Example
Solution
- Create a text grid question
- Add the below script to that question
Code
1 var even = "even";
2 var AddTotalRowToGrid = true;
3 var UpdateSelfDefinedElement = false;
4
5 function recalc()
6 {
7 var tmpval;
8 var tmpnumber = 0;
9
10 $("input:text").each(
11 function(i)
12 {
13 if ($(this).attr("name").indexOf("QUESTION.") == 0)
14 {
15 tmpval = $(this).val();
16 if(tmpval != "" && !isNaN(tmpval)) {
17 //DEBUGGING ALERT FOR GETTING THE ACTUAL VALUE
18 //alert("|" + parseInt(tmpval) + "|");
19 tmpnumber += parseInt(tmpval);
20 }
21 }
22 }
23 );
24 if(UpdateSelfDefinedElement)
25 $("#AUTOSUMSELFDEFINED").text("Sum Equals: " + tmpnumber);
26 if(AddTotalRowToGrid)
27 $("#AUTOSUM").text("Sum Equals: " + tmpnumber);
28 }
29
30 quest.onInit = function()
31 {
32 $("input:text").each(
33
34 function(i)
35 {
36 if ($(this).attr("name").indexOf("QUESTION.") == 0)
37 {
38 $(this).keyup(function(){recalc()});
39 }
40 }
41 );
42
43 if(AddTotalRowToGrid)
44 {
45 $(".grid_inner").append("<tr rowheight=\"12pt\"><td colspan=2 class=\"grid_subquestion_text grid_subquestion_" + even + "\" style=\"height: 20px;\"><p id=\"AUTOSUM\">Undefined</p></td></tr>");
46 }
47 recalc();
48 }
Source
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q7_AutoSum_numerical_text_grid)