Vignesh,
Making multiple handles is easy :
$(function() {
$mySlider = $( "#slider-range" );
$mySlider.slider({
// range: true,//don't set range
min: 0,
max: 1000,
values: [ 75, 125, 175, 225 ],
slide: function( evt, ui ) {
a = [];
for(var i=0; i<ui.values.length; i++) {
a.push(ui.values[i]);
}
$( "#amount" ).val( "$" + a.join(" - " + "$") );
}
});
$( "#amount" ).val(
["$" + $mySlider.slider("values", 0),
"$" + $mySlider.slider("values", 1),
"$" + $mySlider.slider("values", 2),
"$" + $mySlider.slider("values", 3)].join(" - ")
);
}); Giving the slider "multi-range" behaviour is not so easy. I played around for a bit a couldn't come up with 100% satisfactory code. The big issue, as you say, is preventing overlap, which would take a bit of development effort and possibly approached in a modified version of "slider", otherwise the interface appears to expose too little of the inner workings.
Another approach (easier/harder?) would be to have a stack of interlinked range-sliders, set up such that the upper handle of each also moves the lower slider of the next range-slider in the stack ..... and vice versa. This would also involve some development effort but would benefit from basic range slider behaviour being already in place.
These are my best thoughts. Nothing more, I'm afriad.Airshow