Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2016, 14:38
Интересующийся
Отправить личное сообщение для candro Посмотреть профиль Найти все сообщения от candro
 
Регистрация: 27.02.2012
Сообщений: 26

Изменение value ползунка исходя из значения input
Добрый день, столкнулся с небольшой проблемкой, которую с моими знаниями не решить.
В общем есть слайдер:
<input type="text" id="amount">
<div id="slider-zaim"></div>


$( "#slider-zaim" ).slider({
				  range: "min",
				  min: 100,
				  value: 100, 
				  max: 10000,
				  step: 100,
				  slide: function( event, ui ) {
					$( "#amount" ).val( ui.value + " руб." );
				  }
});
$( "#amount" ).val( $( "#slider-zaim" ).slider( "value" ) + " руб." );


Так вот, при изменении положения ползунка значение в инпуте меняется, но если меня значение в инпуте, то ползунок стоит как вкопанный. Нужно как я понял изменять значения value у ползунка при изменении в инпуте, но как не понял.

Перерыл кучу страниц полезной информации, но никак применить ее не смог.

Прошу помощи в решении этой проблемы, за ранее всем спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 29.01.2016, 14:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

candro,
а где строка 12 которая для изменений в инпуте ... на форуме так то куча того что вам надо но как быть с приставкой руб может её в спан?
Ответить с цитированием
  #3 (permalink)  
Старый 29.01.2016, 15:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

candro,
для медитации jquery ui ползунок как
если будут вопросы сделайте полноценный макет как по ссылке выше.
Ответить с цитированием
  #4 (permalink)  
Старый 29.01.2016, 15:13
Интересующийся
Отправить личное сообщение для candro Посмотреть профиль Найти все сообщения от candro
 
Регистрация: 27.02.2012
Сообщений: 26

видел я эти темы, как только не пробовал. можно обернуть и в спан по идее. 12 строки нету там
Ответить с цитированием
  #5 (permalink)  
Старый 29.01.2016, 15:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

candro,
строки 109 - 116 это то что вы ищите плюс продублировать slide: в change: и этого будет достаточно
Ответить с цитированием
  #6 (permalink)  
Старый 29.01.2016, 15:26
Интересующийся
Отправить личное сообщение для candro Посмотреть профиль Найти все сообщения от candro
 
Регистрация: 27.02.2012
Сообщений: 26

Не совсем понял как сделать...
Ответить с цитированием
  #7 (permalink)  
Старый 29.01.2016, 15:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

slider jquery-ui value in input
candro,
<!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.4/themes/mint-choc/jquery-ui.css">
  <style>
  #slider-zaim { margin: 10px;width : 500px; }
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

</head>

<body>

<div id="slider-zaim"></div>
<input  id="amount" value="0">
<script>
$(function() {
    var b = $("#amount"),
        a = $("#slider-zaim");
    a.slider({
        range: "min",
        min: 100,
        value: 100,
        max: 1E4,
        step: 100,
        change: function(a, c) {
            b.val(c.value)
        },
        slide: function(a, c) {
            b.val(c.value)
        }
    });
    b.val(100).focusout(function() {
        a.slider("value", this.value)
    }).focusout()
});
</script>
</body>
</html>

Последний раз редактировалось рони, 29.01.2016 в 15:55.
Ответить с цитированием
  #8 (permalink)  
Старый 19.05.2017, 08:06
Интересующийся
Отправить личное сообщение для Kirilbl4 Посмотреть профиль Найти все сообщения от Kirilbl4
 
Регистрация: 02.07.2015
Сообщений: 16

А как можно сделать чтобы при вводе одного поля, пересчитывались остальные поля?
Пример:
<div class="calc">
  <div class="items">
    <div class="block">
      <label for="amount">Площадь дома:</label><br />
      <input type="text" name="amount" id="amount"><br />
    </div>
    <div class="block">
      <label for="amount">Стоимость монтажа:</label><br />
      <input type="text" id="price" readonly><br />
    </div>
    <div class="block">
      <label for="amount">Производство элементов:</label><br />
     <input type="text" id="price_2" readonly><br />
    </div>
    <div class="block">
      <label for="amount">Общая стоимость</label><br />
      <input type="text" id="price_3" readonly><br />
    </div>
  </div>
  <div id="slider-range-min"></div>
</div>


и мой js
$( "#slider-range-min" ).slider({
	      // orientation: "vertical",
	      step: 10,
	      range: "min",
	      min: 50,
	      max: 500,
	      value: 100,
	      slide: function( event, ui ) {
	        $( "#amount" ).val( ui.value + " м" );
	        // $( "#amount_1" ).val( ui.value[ 1 ] );
	        $( "#price" ).val( ui.value * 650 + " руб");
	        $( "#price_2" ).val( ui.value * 1200 + " руб");
	        $( "#price_3" ).val( ui.value * 1850 + " руб");
	      }
	    });
	    $( "#amount" ).val(  $( "#slider-range-min" ).slider( "value" ) );
	    $( "#price" ).val(  $( "#slider-range-min"  ).slider( "value" ) * 650  + " руб" );
	    $( "#price_2" ).val(  $( "#slider-range-min"  ).slider( "value" ) * 1200 + " руб" );
	    $( "#price_3" ).val(  $( "#slider-range-min"  ).slider( "value" ) * 1850 + " руб" );
	    

	    
		  $("input#amount").change(function(){
		  	var value1=$("input#amount").val();
		  	var value2=$("input#price").val();
		      if(parseInt(value1) > parseInt(value2)){
		  		value1 = value2;
		  		$("input#amount").val(value1);
		  		$("input#price").val(value2);
		  	}
		  	$("#slider-range-min").slider("value" ,value1);	
		  });



При передвижении ползунка все инпуты пересчитываются как надо. Но когда вводим значение в поле "Площадь дома" ползунок перескакивает на нужное положение, но остальные инпуты не пересчитываются.
Ответить с цитированием
  #9 (permalink)  
Старый 19.05.2017, 10:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Kirilbl4
но остальные инпуты не пересчитываются.
для медитации ...
посмотреть пост №7 и добавить недостающий параметр, продублировав в него всё из уже имеющегося у вас.
Ответить с цитированием
  #10 (permalink)  
Старый 22.05.2017, 09:02
Интересующийся
Отправить личное сообщение для Kirilbl4 Посмотреть профиль Найти все сообщения от Kirilbl4
 
Регистрация: 02.07.2015
Сообщений: 16

Сообщение от рони Посмотреть сообщение
для медитации ...
посмотреть пост №7 и добавить недостающий параметр, продублировав в него всё из уже имеющегося у вас.
Имеете ввиду этот параметр?
b.val(100).focusout(function() {
        a.slider("value", this.value)
}).focusout()
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Изменение содержимого input при смене значения a Radioactive jQuery 4 09.01.2014 23:03
Изменение значения input при клике по ссылкам rammstein jQuery 11 18.10.2013 20:37
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
изменение картинок в зависимости от значения input jump91 Общие вопросы Javascript 2 30.01.2012 09:57