В итоге решение выглядит так:
jQuery( '.filter-days .slider' ).slider({
range: true,
min: 0,
max: 120,
values: [ 22, 80 ],
slide: function( event, ui ) {
jQuery('.input-min').val( ui.values[0] );
jQuery('.input-max').val( ui.values[1] );
var f, g, h, j, k, l, m, n;
var begin1 = (ui.values[0]);
var end1 = (ui.values[1]);
var j = begin1.toString();
var g = j.substr(j.length - 1, 1); //последняя цифра она же b а f - это a а g это b
var h = j.substr(j.length - 2, 1); //предпоследняя цифра она же c
var n = end1.toString(10);
var l = n.substr(j.length - 1, 1); //последняя цифра она же b а f - это a а g это b
var m = n.substr(j.length - 2, 1); //предпоследняя цифра она же c
if (h == 1 && j.length != 1){f = " дней"}
else {
if (g == 1){f = " день"}
else {
if (g == 2 || g == 3 || g == 4){f = " дня"}
else {
f = " дней"
}
}
}
if (m == 1 && n.length != 1){k = " дней"}
else {
if (l == 1){k = " день"}
else {
if (l == 2 || l == 3 || l == 4){k = " дня"}
else {
k = " дней"
}
}
}
jQuery('.filter-days .info .begin').text( (ui.values[0]) + f );
jQuery('.filter-days .info .end').text( (ui.values[1]) + k );
}
});
В целом работает, но смущает 2 вещи:
- Дохренища переменных. Наверняка ведь можно найти более изящное решение...но напомню - я вообще не шарю в JS :(
- Вылез баг - когда первое значение уходит <10 текст для второго значения меняется на "дней"
Профи, если кто подскажет где сделал ошибку и как её исправить буду оч благодарен!
P.s. Сорри за кривенький код