diff options
Diffstat (limited to 'admin/themes/default/js/doubleSlider.js')
-rw-r--r-- | admin/themes/default/js/doubleSlider.js | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/admin/themes/default/js/doubleSlider.js b/admin/themes/default/js/doubleSlider.js index 490331feb..c03c3d52f 100644 --- a/admin/themes/default/js/doubleSlider.js +++ b/admin/themes/default/js/doubleSlider.js @@ -20,14 +20,33 @@ $.fn.pwgDoubleSlider = function(options) { )); } + function findClosest(array, value) { + var closest = null, index = -1; + $.each(array, function(i, v){ + if (closest == null || Math.abs(v - value) < Math.abs(closest - value)) { + closest = v; + index = i; + } + }); + return index; + } + + var values = [ + options.values.indexOf(options.selected.min), + options.values.indexOf(options.selected.max) + ]; + if (values[0] == -1) { + values[0] = findClosest(options.values, options.selected.min); + } + if (values[1] == -1) { + values[1] = findClosest(options.values, options.selected.max); + } + var slider = this.find('.slider-slider').slider({ range: true, min: 0, max: options.values.length - 1, - values: [ - options.values.indexOf(options.selected.min), - options.values.indexOf(options.selected.max) - ], + values: values, slide: onChange, change: onChange }); |