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...
 
No edit summary
Line 1: Line 1:
Chalenge&nbsp;:  
== Chalenge&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) .  

Revision as of 08:36, 2 March 2009

Chalenge :

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;

}

}

}