Toggle menu
862
3.8K
30.2K
279.1K
Catglobe Wiki
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Both horizontal and vertical single grid: Difference between revisions

From Catglobe Wiki
New page: Chalenge : There are a single grid question . Respondents should prioritize statements (sub questions) . <br>Example : I have a list of trade-mark and want the user to prio...
 
Cg loc (talk | contribs)
No edit summary
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
Chalenge&nbsp;:  
== Challenge&nbsp;: ==


There are a single grid question . Respondents should prioritize statements (sub questions) .  
There are a single grid question . Respondents should prioritize statements (sub questions) .


<br>Example&nbsp;:  
== <br>Example&nbsp;: ==


I have a list of trade-mark and want the user to prioritize those list&nbsp;:  
I have a list of trade-mark and want the user to prioritize those list&nbsp;:  
Line 17: Line 17:
[[Image:Example 1.JPG]]<br>  
[[Image:Example 1.JPG]]<br>  


<br>Solution&nbsp;:  
== <br>Solution&nbsp;: ==


Use single grid question (statements as subquestion and ranks as answer option )  
Use single grid question (statements as subquestion and ranks as answer option )  
Line 23: Line 23:
<br>  
<br>  


Code  
== Code ==


The script makes a single grid question function as a single grid both horizontally and vertically.  
The script makes a single grid question function as a single grid both horizontally and vertically.  


option.prototype.getHTML = function(ltype) {  
<source lang="javascript" line="1">
option.prototype.getHTML = function(ltype)
{
  var stmp = "";
  if (this.visible)
  {
      switch (ltype)
      {
        case 2:
            stmp += "<input type=\"radio\" ";
            stmp += "name=\"" + this.label + "\" ";
            stmp += "value=\"" + this.value + "\" ";
            if (this.checked)
              stmp += "checked ";
            if (this.disabled)
              stmp += "disabled ";
            stmp += "onclick=\"myoptclick('" + this.label + "'," + this.index + ",false);\">";
            return "<td valign=\"center\" align=\"" + this.align + "\">" + stmp + "</td>"; ;
            break;
      }
  }
}
quest.next = nextTest;
function nextTest()
{
  // initialise check array
  var arrIndexUsed = new Array();
  for (i = 0; i < quest.questions[0].options.length; i++)
      arrIndexUsed[i] = false;
  // loop through options and check for double used options
  for (i = 0; i < quest.questions.length; i++)
  {
      for (j = 0; j < quest.questions[i].options.length; j++)
      {
        if (quest.questions[i].options[j].checked)
            arrIndexUsed[j] = true;
      }
  }
  // loop through possible answer options and check that all are used
  for (i = 0; i < arrIndexUsed.length; i++)
  {
      if (!arrIndexUsed[i])
      {
        alert('All options must used');
        return false;
      }
  }
  buttonsStatus(true);
  document["query"]["dir"].value = "next";
  return true;
}
function myoptclick(slbl, lidx, blnk)
{
  optclick(slbl, lidx, blnk);
  for (i = 0; i < quest.questions.length; i++)
  {
      if (quest.questions[i].label != slbl)
      {
        quest.questions[i].options[lidx].checked = false;
        o1 = document["query"][quest.questions[i].label];
        cb = o1;
        cb[lidx].checked = false;
      }
      else
      {
        for (j = 0; j < quest.questions[i].options.length; j++)
            quest.questions[i].options[j].checked = false;
        quest.questions[i].options[lidx].checked = true;
        o1 = document["query"][quest.questions[i].label];
        cb = o1;
        cb[lidx].checked = true;
      }
  }
}
</source>
== Source ==


var stmp = "";
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q3_Both_horizontal_and_vertical_single_grid)
 
if(this.visible) {
 
switch(ltype) {
 
case 2:  
 
stmp += "&lt;input type=\"radio\" ";
 
stmp += "name=\""+this.label+"\" ";
 
stmp += "value=\""+this.value+"\" ";
 
if(this.checked) stmp += "checked ";
 
if(this.disabled) stmp += "disabled ";
 
stmp += "onclick=\"myoptclick('"+this.label+"',"+this.index+",false);\"&gt;";
 
return "&lt;td valign=\"center\" align=\""+this.align+"\"&gt;"+stmp+"&lt;/td&gt;";;
 
break;
 
}
 
}
 
}
 
quest.next = nextTest;
 
function nextTest() {
 
// initialise check array
 
var arrIndexUsed = new Array();
 
for (i=0;i&lt;quest.questions[0].options.length;i++) {
 
arrIndexUsed[i] = false;
 
}
 
// loop through options and check for double used options
 
for (i=0;i&lt;quest.questions.length;i++) {
 
for (j=0;j&lt;quest.questions[i].options.length;j++) {
 
if (quest.questions[i].options[j].checked) {
 
arrIndexUsed[j] = true;
 
}
 
}
 
}
 
// loop through possible answer options and check that all are used
 
for (i=0;i&lt;arrIndexUsed.length;i++) {
 
if (&nbsp;! arrIndexUsed[i] ) {
 
alert('All options must used');
 
return false;
 
}
 
}
 
buttonsStatus(true);
 
document["query"]["dir"].value = "next";
 
return true;
 
}
 
function myoptclick(slbl, lidx, blnk) {
 
optclick(slbl, lidx, blnk);
 
for (i=0;i&lt;quest.questions.length;i++) {
 
if ( quest.questions[i].label&nbsp;!= slbl ) {
 
quest.questions[i].options[lidx].checked = false;
 
o1 = document["query"][quest.questions[i].label];
 
cb = o1;
 
cb[lidx].checked = false;
 
}
 
else {
 
for (j=0;j&lt;quest.questions[i].options.length;j++) {
 
quest.questions[i].options[j].checked = false;
 
}
 
quest.questions[i].options[lidx].checked = true;
 
o1 = document["query"][quest.questions[i].label];
 
cb = o1;
 
cb[lidx].checked = true;
 
}
 
}
 
}<br><br>

Latest revision as of 07:05, 3 February 2012

Challenge :

There are a single grid question . Respondents should prioritize statements (sub questions) .


Example :

I have a list of trade-mark and want the user to prioritize those list :

Dell

Apple

IBM

FPT Elead



Solution :

Use single grid question (statements as subquestion and ranks as answer option )


Code

The script makes a single grid question function as a single grid both horizontally and vertically.

option.prototype.getHTML = function(ltype)
{
   var stmp = "";
   if (this.visible)
   {
      switch (ltype)
      {
         case 2:
            stmp += "<input type=\"radio\" ";
            stmp += "name=\"" + this.label + "\" ";
            stmp += "value=\"" + this.value + "\" ";
            if (this.checked)
               stmp += "checked ";
            if (this.disabled)
               stmp += "disabled ";
            stmp += "onclick=\"myoptclick('" + this.label + "'," + this.index + ",false);\">";
            return "<td valign=\"center\" align=\"" + this.align + "\">" + stmp + "</td>"; ;
            break;
      }
   }
}
quest.next = nextTest;
function nextTest()
{
   // initialise check array
   var arrIndexUsed = new Array();
   for (i = 0; i < quest.questions[0].options.length; i++)
      arrIndexUsed[i] = false;
   // loop through options and check for double used options
   for (i = 0; i < quest.questions.length; i++)
   {
      for (j = 0; j < quest.questions[i].options.length; j++)
      {
         if (quest.questions[i].options[j].checked)
            arrIndexUsed[j] = true;
      }
   }
   // loop through possible answer options and check that all are used
   for (i = 0; i < arrIndexUsed.length; i++)
   {
      if (!arrIndexUsed[i])
      {
         alert('All options must used');
         return false;
      }
   }
   buttonsStatus(true);
   document["query"]["dir"].value = "next";
   return true;
}
function myoptclick(slbl, lidx, blnk)
{
   optclick(slbl, lidx, blnk);
   for (i = 0; i < quest.questions.length; i++)
   {
      if (quest.questions[i].label != slbl)
      {
         quest.questions[i].options[lidx].checked = false;
         o1 = document["query"][quest.questions[i].label];
         cb = o1;
         cb[lidx].checked = false;
      }
      else
      {
         for (j = 0; j < quest.questions[i].options.length; j++)
            quest.questions[i].options[j].checked = false;
         quest.questions[i].options[lidx].checked = true;
         o1 = document["query"][quest.questions[i].label];
         cb = o1;
         cb[lidx].checked = true;
      }
   }
}

Source

Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q3_Both_horizontal_and_vertical_single_grid)