I have multiple noUISliders and I am wanting to have one on(change) function for all of them instead of one for each slider. The on(change) will essentially trigger the same function. Basically it will be some math that will add all the values of the sliders. Do I have to do a loop? I just have an alert in there for testing.
var slider = $('#slider');
var slider = slider[0];
noUiSlider.create(slider, {
animate: true,
start: 41,
step: 5,
tooltips: [wNumb({decimals: 0})],
connect: 'lower',
range: {
'min':0,
'max': 1000
}
});
var slider2 = $('#slider2');
var slider2 = slider2[0];
noUiSlider.create(slider2, {
animate: true,
start: 20,
step: 1,
tooltips: [wNumb({decimals: 0})],
connect: 'lower',
range: {
'min':0,
'max': 100
}
});
var slider3 = $('#slider3');
var slider3 = slider3[0];
noUiSlider.create(slider3, {
animate: true,
start: 20,
step: 1,
tooltips: [wNumb({decimals: 0})],
connect: 'lower',
range: {
'min':0,
'max': 100
}
});
$('#slider')[0].noUiSlider.on('change',function(v,handle){
alert("slider triggered");
});
You can indeed create a little
jQuery.each()loop to achieve your objective:I used the ternary operator (
i?100:1000) above so that a different parameter value would be applied for your first slider.For the
startvalues I changed it to picking a value from a globally defined array (start, see comments below!).