Лучший Ответ Ichimaru , 24 October 2013 - 20:43
Я чуть выше написал что у меня не вышло выполнить ваши правки, слайдер попусту переставал отображаться.Тогда тут определенно не весь код есть.
Т.к нет правок с моих последних замечаний о скрытом инпуте.
Было бы намного проще, если бы вы дали ссылку.
Ниже, ВЕСЬ код, от корки до корки
/** * Render jQueryUI slider * @param array $params * @param string $value * @param string $name * @param string $idtag * @return string */ public function slider($params, $value = '', $name = '', $idtag = '') { if (!empty($value) && is_string($value)) { $value = explode('/', $value); } else { $value = array($params['min'], $params['max']); } $this->app->jbassets->jqueryui(); $this->app->jbassets->addScript('jQuery(function($){ var inputMin = $("#' . $idtag . '-value-0"); var inputMax = $("#' . $idtag . '-value-1"); $("#' . $idtag . '-wrapper").removeAttr("slide"); $("#' . $idtag . '-wrapper")[0].slide = null; $("#' . $idtag . '-wrapper").slider({ "range" : true, "min" : ' . ((float)$params['min'] ? round((float)$params['min'], 2) : 0) . ', "max" : ' . ((float)$params['max'] ? round((float)$params['max'], 2) : 10000) . ', "step" : ' . ((float)$params['step'] ? round((float)$params['step'], 2) : 100) . ', "values": [' . round((float)$value['0'], 2) . ', ' . round((float)$value['1'], 2) . '], "stop" : function(event, ui) { $("#' . $idtag . '-value").val(ui.values[0] + "/" + ui.values[1]); $("#' . $idtag . '-value-0").val(numberFormat(ui.values[0], 0, ".", " ")); $("#' . $idtag . '-value-1").val(numberFormat(ui.values[1], 0, ".", " ")); }, "slide" : function(event,ui) { $("#' . $idtag . '-value").val(ui.values[0] + "/" + ui.values[1]); $("#' . $idtag . '-value-0").val(numberFormat(ui.values[0], 0, ".", " ")); $("#' . $idtag . '-value-1").val(numberFormat(ui.values[1], 0, ".", " ")); } }); $("#' . $idtag . '-value-0").change(function(){ var value1 = jQuery("input#' . $idtag . '-value-0").val(); var value2 = jQuery("input#' . $idtag . '-value-1").val(); if (value1 < 0) { value1 = 0; jQuery("input#' . $idtag . '-value-0").val(0)} if(parseInt(value1) > parseInt(value2)){ value1 = value2; jQuery("input#' . $idtag . '-value-0").val(value1); } jQuery("#' . $idtag . '-wrapper").slider("values",0,value1); }); $("#' . $idtag . '-value-1").change(function(){ var value1 = jQuery("input#' . $idtag . '-value-0").val(); var value2 = jQuery("input#' . $idtag . '-value-1").val(); if (value2 > 30000) { value2 = 30000; jQuery("input#' . $idtag . '-value-1").val(30000)} if(parseInt(value1) > parseInt(value2)){ value2 = value1; jQuery("input#' . $idtag . '-value-1").val(value2); } jQuery("#' . $idtag . '-wrapper").slider("values",1,value2); }); $("#' . $idtag . '-value").val(' . (float)$value['0'] . '+ "/" +' . (float)$value['1'] . '); });'); return '<div id="' . $idtag . '-wrapper"> </div>' . "\n" . '<input id="' . $idtag . '-value-0" class="slider-value-0" value="' . $value['0'] . '"/>' . "\n" . '<input id="' . $idtag . '-value-1" class="slider-value-1" value="' . $value['1'] . '"/>' . "\n" . '<input type="hidden" id="' . $idtag . '-value" name="' . $name . '" />' . "\n"; }Перейти к сообщению
