Лучший Ответ Ichimaru , 24 October 2013 - 20:43
SmetDenis сказал(а) 24 Окт 2013 - 05:48:
Я чуть выше написал что у меня не вышло выполнить ваши правки, слайдер попусту переставал отображаться.Тогда тут определенно не весь код есть.
Т.к нет правок с моих последних замечаний о скрытом инпуте.
Было бы намного проще, если бы вы дали ссылку.
Ниже, ВЕСЬ код, от корки до корки
- /**
- * 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";
- }
