Change slider numeric value with javascript

More
2 months 1 week ago #198018 by rouuuge
hi,

does anyone has a working version of this script:
<script type="text/javascript" charset="utf-8">
 
	$(document).on('ready pjax:scriptcomplete',function(){
 
		// Identify this question
		var thisQuestion = $('#question{QID}');
 
		$('body').on('slide slideStop', '#question{QID} input.answer-item', function(event) {
			var thisName = $(this).attr('name').replace('slid', '');
 
			var otherSlider = $('input.answer-item', thisQuestion).filter(function () { 
									return $(this).attr('name').replace('slid', '') != thisName; 
								}).first();
 
			var psSeparator = $(this).attr('data-ps-separator');
			var psStep =  $(this).attr('data-ps-step');
			var sliderVal = Number($(this).val().replace(psSeparator, '.'));
 
			// Move the slider
			var otherName = $(otherSlider).attr('name').replace('slid', '');			
			window.activeSliders['s'+otherName].getSlider().setValue(100-sliderVal);
 
			// Handle the inputs
			var displayValue = $(otherSlider).val().toString().replace('.', psSeparator); 
			$(otherSlider).val(displayValue);
			$(otherSlider).closest('li.answer-item').find('input.em_sq_validation').val(displayValue);
 
			// Fire Expression Manager
			ExprMgr_process_relevance_and_tailoring('keyup', otherName, 'change');
		});
    });
</script>

its from that old Thread but its not working with LS3.

thanks

Please Log in to join the conversation.

More
2 months 1 week ago - 2 months 1 week ago #198089 by tpartner
<script type="text/javascript" charset="utf-8">
 
	$(document).on('ready pjax:scriptcomplete',function(){
 
		// Identify this question
		var qID = '{QID}';
 
		// Add a custom event handler to the slider inputs
		$('body').on('slide.custom slideStop.custom', '#question'+qID+' input.answer-item', function(event) {
			handleSliders($(this));
		});
 
		function handleSliders(el) {
 
			// Remove the custom event handlers to prevent recursion (looping)
			$('body').off('slide.custom slideStop.custom', '#question'+qID+' input.answer-item');
 
			var thisName = $(el).attr('name').replace('slid', '');
 
			var otherSlider = $('#question'+qID+' input.answer-item').filter(function () { 
									return $(this).attr('name').replace('slid', '') != thisName; 
								}).first();
 
			var psSeparator = $(el).attr('data-ps-separator');
			var psStep =  $(el).attr('data-ps-step');
			var sliderVal = Number($(el).val().replace(psSeparator, '.'));
 
			// Move the slider
			var otherName = $(otherSlider).attr('name').replace('slid', '');			
			window.activeSliders['s'+otherName].getSlider().setValue(100-sliderVal);
 
			// Handle the inputs
			var displayValue = $(otherSlider).val().toString().replace('.', psSeparator); 
			$(otherSlider).val(displayValue);
			$(otherSlider).closest('li.answer-item').find('input.em_sq_validation').val(displayValue);
 
			$(otherSlider).closest('li.answer-item').find('.slider').removeClass('slider-untouched');
 
			// Fire Expression Manager
			ExprMgr_process_relevance_and_tailoring('keyup', otherName, 'change');
 
			// Now, re-add the custom event handler to the slider inputs
			$('body').on('slide.custom slideStop.custom', '#question'+qID+' input.answer-item', function(event) {
				handleSliders($(this));
			});
		}
    });
</script>

Sample survey attached:

File Attachment:

File Name: limesurvey...4-27.lss
File Size:20 KB

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Official LimeSurvey Partner - partnersurveys.com
Attachments:
Last edit: 2 months 1 week ago by tpartner.
The following user(s) said Thank You: rouuuge

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now