Stryzhevskyi / rangeSlider

Simple, small and fast vanilla JavaScript polyfill for the HTML5 `<input type="range">` slider element.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot read property 'update' of undefined

salehmosleh opened this issue · comments

i use blow codes but it does not work :

var slider = document.querySelectorAll('input[type="range"]'); 
				rangeSlider.create(slider, {    
					onSlide: function (value, percent, position) { 
						$("#progressvalue").html(value+"%");
						if(value>50){
							slider.rangeSlider.update({ value : 50}, true); 
						} 
					} 
				});

i have this error :

Uncaught TypeError: Cannot read property 'update' of undefined
    at e.onSlide (upanel.tasks.js?v=1.0:570)
    at e.value (range-slider.js:453)
    at e.value (range-slider.js:320)
    at Object.t.triggerEvent (dom.js:188)
    at e.value (range-slider.js:396)
onSlide @ upanel.tasks.js?v=1.0:570
value @ range-slider.js:453
value @ range-slider.js:320
t.triggerEvent @ dom.js:188
value @ range-slider.js:396

Hi
querySelectorAll returns NodeList, it's obvious: it doesn't have property rangeSlider.
Use slider[0] instead, or just querySelector.
https://jsfiddle.net/Stryzhevskyi/rpsa16fn/1/

btw, if you're using jQuery, you can switch to original André Ruffert's jQuery plugin https://github.com/andreruffert/rangeslider.js

I just use this, it works fine:

$('input[type="range"]').val(newvalue);