Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.05.2014, 18:10
Аватар для Alex57B
Интересующийся
Отправить личное сообщение для Alex57B Посмотреть профиль Найти все сообщения от Alex57B
 
Регистрация: 01.08.2013
Сообщений: 22

Помогите с JQ слайдером
Всем привет!

Пишу фильтр по цене(диапазон цен) для сайта.

Код фильтра
<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" value="0"/>
				<label for="maxCost">до</label><input type="text" id="maxCost" value="1000"/>
			</div>
			<div class="sliderCont">
					<div id="slider"></div>
			</div>
		</form>
		</div>


Использую библиотеку jquery.ui-slider.js и вот такой скрипт взял с одного сайта
jQuery(document).ready(function(){


/* слайдер цен */

jQuery("#slider").slider({
	min: 0,
	max: 1000,
	values: [0,1000],
	range: true,
	stop: function(event, ui) {
		jQuery("input#minCost").val(jQuery("#slider").slider("values",0));
		jQuery("input#maxCost").val(jQuery("#slider").slider("values",1));
		
    },
    slide: function(event, ui){
		jQuery("input#minCost").val(jQuery("#slider").slider("values",0));
		jQuery("input#maxCost").val(jQuery("#slider").slider("values",1));
    }
});

jQuery("input#minCost").change(function(){

	var value1=jQuery("input#minCost").val();
	var value2=jQuery("input#maxCost").val();

    if(parseInt(value1) > parseInt(value2)){
		value1 = value2;
		jQuery("input#minCost").val(value1);
	}
	jQuery("#slider").slider("values",0,value1);	
});

	
jQuery("input#maxCost").change(function(){
		
	var value1=jQuery("input#minCost").val();
	var value2=jQuery("input#maxCost").val();
	
	if (value2 > 1000) { value2 = 1000; jQuery("input#maxCost").val(1000)}

	if(parseInt(value1) > parseInt(value2)){
		value2 = value1;
		jQuery("input#maxCost").val(value2);
	}
	jQuery("#slider").slider("values",1,value2);
});

});


Сейчас минимальная цена в инпуте minCost - 0, в maxCost - 1000

Мне нужно чтобы эти значения брались из инпутов которые возвращаются PHP скриптом при переходе в категорию товаров.

<input type="hidden" name="minCostCat" value="500">
<input type="hidden" name="maxCostCat" value="15790">

Собственно просьба, помогите подставить эти значения в инпуты minCost и maxCost чтобы пользователь выбирал именно с помощью бегунка именно из этих значений. Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 21.05.2014, 19:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Alex57B,

<!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/sunny/jquery-ui.css">
  <style>
  #slider { margin: 10px;width : 500px; height: 8px }
  .ui-slider-handle{border-radius:50%; position: relative; font-size: 14px; display: block; }
  .ui-slider-horizontal .ui-slider-handle{top:-0.4em}
  </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="500">
<input type="hidden" name="maxCostCat" value="15790">

<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>
		</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(jQuery("#slider").slider("values",0));
		jQuery("input#maxCost").val(jQuery("#slider").slider("values",1));
    },
    slide: function(event, ui){
	    jQuery("input#minCost").val(jQuery("#slider").slider("values",0));
		jQuery("input#maxCost").val(jQuery("#slider").slider("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);
});

});
</script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 21.05.2014, 21:33
Аватар для Alex57B
Интересующийся
Отправить личное сообщение для Alex57B Посмотреть профиль Найти все сообщения от Alex57B
 
Регистрация: 01.08.2013
Сообщений: 22

рони,
Спасибо!
Я решил уже по другому. Из PHP напрямую передал значения.
Смайлик в тему, истинно отражает мои знания в Javascript
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите справиться со слайдером kernel Общие вопросы Javascript 1 25.12.2013 09:26
Помогите со слайдером пожалуйсто. Webkraft Ваши сайты и скрипты 4 14.10.2013 01:05
Помогите со слайдером trambi Общие вопросы Javascript 0 18.02.2013 07:23
Помогите со слайдером DeveloperTeam Элементы интерфейса 0 18.10.2012 18:44
Помогите разобраться с jquery слайдером!!! Andy76 jQuery 0 25.11.2011 18:12