More actions
No edit summary |
|||
Line 102: | Line 102: | ||
} | } | ||
</source> | </source> | ||
== Source == | |||
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q3_Both_horizontal_and_vertical_single_grid) |
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)