Лучший Ответ 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";
}
Перейти к сообщению


Тема закрыта








