Welcome, Guest
Username: Password: Remember me

TOPIC: Multiple question types in array modifiy

Re:Multiple question types in array modifiy 3 years 8 months ago #53079

  • phpsurvey
  • phpsurvey's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 42
  • Karma: 1
the solution is: the ids were wrong - when you import the survey you have to set the id in the script

190 - 209

for example your ids

310 - 329

190 310
191 311
192 312
193 313
194 314
195 315
196 316
197 317
198 318
199 319
200 320
201 321
202 322
203 323
204 324
205 325
206 326
207 327
208 328
209 329
The administrator has disabled public write access.

Re:Multiple question types in array modifiy 3 years 8 months ago #53080

  • tpartner
  • tpartner's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 4072
  • Thank you received: 748
  • Karma: 341
That's what I've been trying to say all along.
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
The administrator has disabled public write access.

Re:Multiple question types in array modifiy 3 years 8 months ago #53081

  • phpsurvey
  • phpsurvey's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 42
  • Karma: 1
Hi tpartner,

thanks for your professional help. Can you tell me: How can I input a single checkbox instead of a dropdown??

Example with Photoshop -> checkbox instead of a dropdown??

Last Edit: 3 years 8 months ago by phpsurvey.
The administrator has disabled public write access.

Re:Multiple question types in array modifiy 3 years 8 months ago #53083

  • tpartner
  • tpartner's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 4072
  • Thank you received: 748
  • Karma: 341
Replace the short-text questions with multiple-options questions with only one answer each and no question or answer text.

In the script, replace this line:
$('div.text-short td.questiontext, div.list-dropdown td.questiontext, div.yes-no td.questiontext, div.numeric td.questiontext').parent().hide();
With:
$('div.multiple-opt td.questiontext, div.text-short td.questiontext, div.list-dropdown td.questiontext, div.yes-no td.questiontext, div.numeric td.questiontext').parent().hide();

And add this to the script before the "// Yes-no question styles" block:
// Checkbox question styles
$( 'div.multiple-opt ul' ).css({
    'text-align': 'center',
    'font-size': '90%',
    'margin': '0',
});
$( 'div.multiple-opt ul li' ).css({
    'text-align': 'center',
});
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
The administrator has disabled public write access.

Re:Multiple question types in array modifiy 3 years 8 months ago #53084

  • phpsurvey
  • phpsurvey's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 42
  • Karma: 1
tpartner - you are amazing
The administrator has disabled public write access.

Re:Multiple question types in array modifiy 3 years 8 months ago #53125

  • phpsurvey
  • phpsurvey's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 42
  • Karma: 1
before I post this I tried it a lot of times :) realy


I want to add an extra array with a comment field under an normal radio array



Question group 1
1. First question is an normal radio array
2. Second question is one row: comment field + radio array

I think my javascript is wrong, but I don't know how I can make it:
<script type="text/javascript" charset="utf-8">
 
	$(document).ready(function() {
 
		/*********** 
		Display multiple questions side by side
		***********/
 
		//////// Define question attributes for later use ////////
 
		// Give questions row specific attributes so we can easily manipulate them by row
	       $('#question583,#question1145, #question1146').attr('name', 'qRow1');
 
 
		// Give questions column specific attributes so we can easily manipulate them by column
		// I know, not the correct use of "rel" attribute but...too bad!
		$('#question583').attr('rel', 'qCol1');
		$('#question1145').attr('rel', 'qCol2');
                $('#question1146').attr('rel', 'qCol3');
 
 
		//////// Survey layout manipulation ////////
 
		// Fix the width of the survey
		$( 'table.outerframe' ).css({
			'width': '900px'
		});
 
		// Wrap each row in a div
		// This is kinda verbose but IE won't let me use jQuery shortcuts
		var el = document.createElement('div');
		el.setAttribute('id','inlineWrapper1');
		document.body.appendChild(el);
		$('div[name="qRow1"]').wrapAll($('#inlineWrapper1'));
 
		el.setAttribute('id','inlineWrapper2');
		document.body.appendChild(el);
		$('div[name="qRow2"]').wrapAll($('#inlineWrapper2'));
 
		el.setAttribute('id','inlineWrapper3');
		document.body.appendChild(el);
		$('div[name="qRow3"]').wrapAll($('#inlineWrapper3'));
 
		el .setAttribute('id','inlineWrapper4');
		document.body.appendChild(el );
		$('div[name="qRow4"]').wrapAll($('#inlineWrapper4'));		
 
		// Style the wrapper divs
		$( '#inlineWrapper1, #inlineWrapper2' ).css({
			'width': '850px',
			'margin': '0 auto 0 auto',
			'clear': 'both'
		});
 
		// Get all the questions to sit politely side by side
		$( 'div[name="qRow1"], div[name="qRow2"]' ).css({
			'float': 'left'    
		});
 
		//////// Column manipulation ////////
 
		// Set the column widths - can be set individually if necessary
		// Must add up to less than 100%
		$( 'div[rel="qCol1"]' ).css({
			'width': '12%'
		});
		$( 'div[rel="qCol2"], div[rel="qCol3"]' ).css({
			'width': '30%'
		});
 
		//////// Question manipulation ////////
 
		// Hide the answer element in boilerplate questions
		$( 'div.boilerplate td.answer' ).parent().hide();
 
		// Hide the question text elements in non-boilerplate questions
		$('div.multiple-opt td.questiontext, div.text-short td.questiontext, div.list-dropdown td.questiontext, div.yes-no td.questiontext, div.numeric td.questiontext').parent().hide();
 
		// Push the question tables to 100%
		$( 'div[name="qRow1"] table, div[name="qRow2"] table' ).css({
			'width': '100%'
		});
 
		// Get everything to line up nicely vertically
		$( 'td.questiontext, td.answer p' ).css({
			'text-align': 'center'
		});
 
		// Adjust cell heights so everything lines up nicely horizontally
		$( 'td.answer, td.questiontext' ).css({
			'height':'35px'
		});
 
// Checkbox question styles
$( 'div.multiple-opt ul' ).css({
    'text-align': 'center',
    'font-size': '90%',
    'margin': '0',
});
$( 'div.multiple-opt ul li' ).css({
    'text-align': 'center',
});
 
		// Yes-no question styles
		$( 'div.yes-no ul' ).css({
			'text-align': 'center',
			'font-size': '90%',
			'margin': '0',
			'padding-bottom': '5px'
		});
		$( 'div.yes-no td.answer' ).css({
			'padding-bottom': '0'
		});
 
		// Short-text question styles
		$( 'div.text-short input' ).css({
			'width': '125px',
			'margin-left': '0'
		});
 
		// Numeric question styles
		$( 'div.numeric input' ).css({
			'width': '125px',
			'margin-left': '0'
		});
		$( 'div.numeric p.tip' ).css({
			'display': 'none'
		});
 
		// Get rid of the margins around select boxes	
		$( 'p.question' ).css({'margin':'0'});
 
		// Reduce the space caused by the question help table
		$( 'div[name="qRow1"], div[name="qRow2"]' ).css({
			'margin-bottom': '-8px'
		});	
 
	});
 
</script>
Last Edit: 3 years 8 months ago by phpsurvey.
The administrator has disabled public write access.

Re:Multiple question types in array modifiy 3 years 8 months ago #53160

  • phpsurvey
  • phpsurvey's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 42
  • Karma: 1
this is what I want to do:




seriously

div.array is not avaible

at docs.limesurvey.org/tiki-index.php?page=...g_questions_with_CSS

and I don't know how I can do it..
The administrator has disabled public write access.

Re:Multiple question types in array modifiy 3 years 8 months ago #53216

  • tpartner
  • tpartner's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 4072
  • Thank you received: 748
  • Karma: 341
This should do the trick.

Create a short-text question and an array question with only one answer. Insert the following script in the source of one of them. Replace "11" (line 5) with the ID of the short-text and "22" (line 6) with the ID of the array you want inline.

Note that the styles inserted here only apply to the default template and you my need to adjust the padding in line 40 if any of your array labels wrap.
<script type="text/javascript" charset="utf-8">
 
    $(document).ready(function() {
 
        var qText = 11;       
        var qArray = 22;
 
        // Fix the width of the survey
        $( 'table.outerframe' ).css({'width': '900px'});
 
        // Wrap the 2 questions ina container div and style it
        $('#question'+qText+', #question'+qArray+'').wrapAll('<div class="inlineWrapper" />');
        $('.inlineWrapper').append('<div style="clear:both" />');
        $('.inlineWrapper').css({
            'width': '75%',
            'margin':'0 auto 10px auto',
            'background-color':'#FFFFFF'
        });
        $('.inlineWrapper *').css({
            'padding': '0',
            'margin':'0'
        });
 
        // Hide the question and the help text
        $('#question'+qText+' td.questiontext, #question'+qArray+' td.questiontext').parent().hide();
        $('#question'+qText+' > table:eq(1), #question'+qArray+' > table:eq(1)').hide();
        $('#question'+qText+' td.survey-question-help, #question'+qArray+' td.survey-question-help').parent().hide();
 
        //Hide the answer cell of the array
        $('#question'+qArray+' table.question thead tr').children(":first").hide();
        $('#question'+qArray+' table.question tbody tr').children(":first").hide();
        $('#question'+qArray+' col').attr('width', '');
 
        // Push all question tables to 100%
        $('#question'+qText+' table, #question'+qArray+' table').css({'width': '100%'});
 
        // Get the 2 questions to sit politely side by side
        $('#question'+qText+', #question'+qArray+'').css({'float':'left'});
        $('#question'+qText+'').css({'padding':'15px 0 5px 25px'});
        $('#question'+qText+'').css({'padding-top':'27px'}); // Adjust here for wrapped array labels
        $('#question'+qArray+'').css({'padding':'5px 0 10px 0'});
        $('#question'+qArray+' table.question td').css({'padding':'4px'});
        $('#question'+qText+' table:first').attr('align', 'left');
        $('#question'+qText+' label').css({
            'display':'inline', 
            'width':'auto', 
            'margin-right':'10px'
        });
 
        // Set the widths of the 2 questions
        $('#question'+qText+'').css({'width': '35%'});
        $('#question'+qArray+'').css({'width': '58%'});
 
    });
 
</script>

array_1-20101130.gif
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
The administrator has disabled public write access.
The following user(s) said Thank You: phpsurvey

Re:Multiple question types in array modifiy 3 years 8 months ago #53236

  • phpsurvey
  • phpsurvey's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 42
  • Karma: 1
thank you tpartner
The administrator has disabled public write access.

Re:Multiple question types in array modifiy 3 years 8 months ago #53270

  • Mazi
  • Mazi's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 5302
  • Thank you received: 291
  • Karma: 247
You're welcome!

If our hints have been helpful and you enjoy limesurvey please consider a donation to the team .
We do all this in our free time and you don't have to pay a penny for this software.

Without your help we can't keep this project alive.

Best regards/Beste Grüße,
Dr. Marcel Minke
(Limesurvey Head of Support)
Need Help? We offer professional Limesurvey support
Contact: marcel.minke(at)limesurvey.org'"
The administrator has disabled public write access.
Moderators: ITEd
Time to create page: 0.439 seconds
Donation Image