Difference between revisions of "AutoSum numerical text grid"

From Catglobe Wiki
Jump to: navigation, search
(Marked this version for translation)
 
(4 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 ==
+
'''Example'''<br>
  
 
[[Image:AutoSum.png]]
 
[[Image:AutoSum.png]]
 
+
== Solution == <!--T:3-->
== Script ==
+
*Create a text grid question
 +
*Add the below script to that question
 +
== Code ==
 
<source lang="javascript" line="1">
 
<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(
  $("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(
  
$("input:text").each(
+
      <!--T:7-->
 
 
 
function(i)
 
function(i)
 +
      {
 +
        if ($(this).attr("name").indexOf("QUESTION.") == 0)
 +
        {
 +
            $(this).keyup(function(){recalc()});
 +
        }
 +
      }
 +
  );
  
{
+
   if(AddTotalRowToGrid)  
 
 
   if ($(this).attr("name").indexOf("QUESTION.") == 0)
 
 
 
 
   {
 
   {
 
+
       $(".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>");
       $(this).keyup(function(){recalc()});
 
 
 
 
   }
 
   }
 
+
   recalc();
}
 
 
 
);
 
 
 
if(AddTotalRowToGrid) {
 
 
 
   $(".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();
 
 
 
 
}
 
}
 
</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 09:53, 3 August 2017

Challenge

We need to sum numbers in a
Example

AutoSum.png

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)