13.06.2015, 08:10
|
|
Аспирант
|
|
Регистрация: 09.06.2015
Сообщений: 62
|
|
Сообщение от рони
|
Ramzes94,
глюк какой-то есть, data-val=перезаписывается
|
Рони помнишь ты говорил что глюк есть.
Этот глюк не как не исправить?
Просто в предыдущем вроде скрипте все корректно работает без глюков
|
|
13.06.2015, 08:14
|
|
Аспирант
|
|
Регистрация: 09.06.2015
Сообщений: 62
|
|
То есть нашел косяк в чем.
Когда я ставлю значение больше все работает корректно.
Когда ставлю значение меньше не работает
jQuery(document).ready(function(){
var min_max = [990,70000]
/* слайдер цен */
jQuery("#budget").slider({
min: min_max[0],
max: min_max[1],
values: min_max,
range: true,
change: function(event, ui) {
jQuery("input#minCost").val(ui.values[0]);
jQuery("input#maxCost").val(ui.values[1]);
},
slide: function(event, ui){
jQuery("input#minCost").val(ui.values[0]);
jQuery("input#maxCost").val(ui.values[1]);
}
});
$("#budget").slider( "option", "values", min_max );
jQuery("input#minCost").change(function(){
var value1=+jQuery("input#minCost").val()||min_max[0];
var value2=+jQuery("input#maxCost").val()||min_max[1];
if(value1 > value2){value1 = value2};
if(value1 < min_max[0]){value1 = min_max[0]};
jQuery("input#minCost").val(value1);
jQuery("#budget").slider("values",0,value1);
});
jQuery("input#maxCost").change(function(){
var value1=+jQuery("input#minCost").val()||min_max[0];
var value2=+jQuery("input#maxCost").val()||min_max[1];
if (value2 > min_max[1]) { value2 = min_max[1]};
if(value1 > value2){value2 = value1;}
jQuery("input#maxCost").val(value2);
jQuery("#budget").slider("values",1,value2);
});
jQuery(".option").click(function() {
var val = jQuery(this).data("val");
min_max = val;
jQuery("#budget").slider("option", {"min":val[0],"max":val[1],"values" : [val[0],val[1]]})
})
});
|
|
13.06.2015, 08:20
|
|
Аспирант
|
|
Регистрация: 09.06.2015
Сообщений: 62
|
|
Все нашел косяк надо было просто в строке 22, 23 и 30, 32 вместо = равно поставить знак < меньше)))
|
|
13.06.2015, 09:07
|
|
Аспирант
|
|
Регистрация: 09.06.2015
Сообщений: 62
|
|
jQuery(document).ready(function(){
var min_max = [+jQuery("[name='minbudget']").val(),+jQuery("[name='maxbudget']").val()]
/* слайдер цен */
jQuery("#budget").slider({
min: min_max[0],
max: min_max[1],
values: min_max,
range: true,
change: function(event, ui) {
jQuery("input#minCost").val(ui.values[0]);
jQuery("input#maxCost").val(ui.values[1]);
},
slide: function(event, ui){
jQuery("input#minCost").val(ui.values[0]);
jQuery("input#maxCost").val(ui.values[1]);
}
});
$("#budget").slider( "option", "values", min_max );
jQuery("input#minCost").change(function(){
var value1=+jQuery("input#minCost").val()||min_max[0];
var value2=+jQuery("input#maxCost").val()||min_max[1];
if(parseInt(value1) > parseInt(value2)){
value1 = value2;
$("input#minCost").val(value1);
}
$("#budget").slider("values",0,value1);
});
jQuery("input#maxCost").change(function(){
var value1=+jQuery("input#minCost").val()||min_max[0];
var value2=+jQuery("input#maxCost").val()||min_max[1];
if(parseInt(value1) > parseInt(value2)){
value2 = value1;
$("input#maxCost").val(value2);
}
$("#budget").slider("values",1,value2);
});
jQuery(".option").click(function() {
var val = jQuery(this).data("val");
min_max = val;
jQuery("#budget").slider("option", {"min":val[0],"max":val[1],"values" : [val[0],val[1]]})
})
});
Рони так то корректно все сделал в коде?
Все вроде работает корректно)))
|
|
13.06.2015, 10:29
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Ramzes94,
я пас ....
я дал вам рабочий код, но вам нужен код с глюками ...
на последок
Сообщение от Ramzes94
|
parseInt
|
нафига??? число превращать в число
|
|
13.06.2015, 10:44
|
|
Аспирант
|
|
Регистрация: 09.06.2015
Сообщений: 62
|
|
Рони суть в том что код который вы мне дали в нем каркас и глюки есть.
То есть при вводе числа меньше в <ipnut> min число сбрасывается.
А в максимальной на оборот, при вводе числа больше в <ipnut> max число сбрасывается.
Проверьте сами.
Сообщение от рони
|
Ramzes94,
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>slider demo</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/le-frog/jquery-ui.css">
<style>
#slider{
margin:20px;
width:500px;
height:5px;
}
.ui-slider-handle{
border-radius:50%;
position:relative;
font-size:14px;
display:block;
}
.ui-slider-horizontal .ui-slider-handle{
top:0.5em;
background:transparent;
border-radius:0%;
width:0;
height:0;
border-top:none;
text-decoration:none;
border-left:7px solid transparent;
border-right:7px solid transparent;
border-bottom:14px solid red;
}
#slider:focus{
outline:0;
border:0;
}
.ui-slider-horizontal .ui-slider-handle:last-of-type{
background:transparent;
border-bottom:none;
border-top:14px solid red;
top:-1.2em;
}
.option{
cursor: pointer;
border-radius: 3px;
border: 2px solid rgb(0, 0, 255);
margin: 5px;
width: 120px;
}
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>
<input type="hidden" name="minCostCat" value="990">
<input type="hidden" name="maxCostCat" value="70000">
<div class="box">
<div class="box-heading">Диапазон цен</div>
<form class="fromtofilter" action="#" method="GET">
<div class="formCost">
<label for="minCost">от</label><input type="text" id="minCost" />
<label for="maxCost">до</label><input type="text" id="maxCost" />
</div>
<div class="sliderCont">
<div id="slider"></div>
</div>
<div class="option" data-val='[1200,5000]'><span class="val" >Текст1 1200,5000</span></div>
<div class="option" data-val='[3000,80000]'><span class="val" >Текст2 3000,80000</span></div>
<div class="option" data-val='[4000,95000]'><span class="val" >Текст3 4000,95000</span></div>
</form>
</div>
<script>
jQuery(document).ready(function(){
var min_max = [+jQuery("[name='minCostCat']").val(),+jQuery("[name='maxCostCat']").val()]
/* слайдер цен */
jQuery("#slider").slider({
min: min_max[0],
max: min_max[1],
values: min_max,
range: true,
change: function(event, ui) {
jQuery("input#minCost").val(ui.values[0]);
jQuery("input#maxCost").val(ui.values[1]);
},
slide: function(event, ui){
jQuery("input#minCost").val(ui.values[0]);
jQuery("input#maxCost").val(ui.values[1]);
}
});
$("#slider").slider( "option", "values", min_max );
jQuery("input#minCost").change(function(){
var value1=+jQuery("input#minCost").val()||min_max[0];
var value2=+jQuery("input#maxCost").val()||min_max[1];
if(value1 > value2){value1 = value2};
if(value1 < min_max[0]){value1 = min_max[0]};
jQuery("input#minCost").val(value1);
jQuery("#slider").slider("values",0,value1);
});
jQuery("input#maxCost").change(function(){
var value1=+jQuery("input#minCost").val()||min_max[0];
var value2=+jQuery("input#maxCost").val()||min_max[1];
if (value2 > min_max[1]) { value2 = min_max[1]};
if(value1 > value2){value2 = value1;}
jQuery("input#maxCost").val(value2);
jQuery("#slider").slider("values",1,value2);
});
jQuery(".option").click(function() {
var val = jQuery(this).data("val");
min_max = [val[0],val[1]];
jQuery("#slider").slider("option", {"min":val[0],"max":val[1],"values" : min_max})
})
});
</script>
</body>
</html>
|
|
|
13.06.2015, 10:50
|
|
Аспирант
|
|
Регистрация: 09.06.2015
Сообщений: 62
|
|
Можно как то убрать это глюк?
Просто так вроде все работает без глюков
Сообщение от Ramzes94
|
jQuery(document).ready(function(){
var min_max = [+jQuery("[name='minbudget']").val(),+jQuery("[name='maxbudget']").val()]
/* слайдер цен */
jQuery("#budget").slider({
min: min_max[0],
max: min_max[1],
values: min_max,
range: true,
change: function(event, ui) {
jQuery("input#minCost").val(ui.values[0]);
jQuery("input#maxCost").val(ui.values[1]);
},
slide: function(event, ui){
jQuery("input#minCost").val(ui.values[0]);
jQuery("input#maxCost").val(ui.values[1]);
}
});
$("#budget").slider( "option", "values", min_max );
jQuery("input#minCost").change(function(){
var value1=+jQuery("input#minCost").val()||min_max[0];
var value2=+jQuery("input#maxCost").val()||min_max[1];
if(parseInt(value1) > parseInt(value2)){
value1 = value2;
$("input#minCost").val(value1);
}
$("#budget").slider("values",0,value1);
});
jQuery("input#maxCost").change(function(){
var value1=+jQuery("input#minCost").val()||min_max[0];
var value2=+jQuery("input#maxCost").val()||min_max[1];
if(parseInt(value1) > parseInt(value2)){
value2 = value1;
$("input#maxCost").val(value2);
}
$("#budget").slider("values",1,value2);
});
jQuery(".option").click(function() {
var val = jQuery(this).data("val");
min_max = val;
jQuery("#budget").slider("option", {"min":val[0],"max":val[1],"values" : [val[0],val[1]]})
})
});
Рони так то корректно все сделал в коде?
Все вроде работает корректно)))
|
|
|
13.06.2015, 11:16
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Ramzes94,
идите в пост номер 5 и попробуйте там -- ввести значение меньше или ещё какой глюк обнаружить
|
|
13.06.2015, 11:26
|
|
Аспирант
|
|
Регистрация: 09.06.2015
Сообщений: 62
|
|
В общем Рони не понял тебя. Но спасибо и на этом все отлично)
|
|
13.06.2015, 11:39
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Ramzes94,
пост 5
Последний раз редактировалось рони, Сегодня в 11:37.
|
|
|
|