Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.08.2018, 10:27
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

изменять положение input=range через поле
Здравствуйте.

Никак не получается реализовать нормально.

Есть input type=range
Его значение выводится в поле

Задача менять положение ползунка, если вводят число в поле.
При этом если ввели число меньше, чем min в range - то ползунок просто перемещается в минимальное полложение.
Для максимального - аналогично.

<div class="legend_container">
   <legend>Заголовок</legend>
   <input type="text" class="output" value="100" id="farea"><span>кв.м.</span>
</div>
<input data-price="3000" type="range" name="area" id="area" min="30" max="400" step="5" value="100" oninput="farea.value = area.valueAsNumber">


$('#farea').bind("change keyup input click", function() {
		if (this.value.match(/[^0-9\.]/g)) {
			this.value = this.value.replace(/[^0-9\.]/g, '');
		}
		var out = $('#farea').val();
	    var rangeVal = $('#area');
	    var rangeMin = $('#area').attr('min');
	    var rangeMax = $('#area').attr('max');
        
	    if (out<rangeMin) {
	        rangeVal.val(rangeMin);
	    } else if (out>rangeMax) {
	        rangeVal.val(rangeMax);
	    } else {
	        rangeVal.val(out);
	    }
	});


иногда отрабатывает нормально, а иногда убегает в сторону и не реагирует на вводимое число никак.

Помогите, пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 10.08.2018, 10:33
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,750

https://jsfiddle.net/ub4728ge/
Ответить с цитированием
  #3 (permalink)  
Старый 10.08.2018, 10:36
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<div class="legend_container">
   <legend>Заголовок</legend>
   <input type="text" class="output" value="100" id="farea" oninput="area.value = farea.value"><span>кв.м.</span>
</div>
<input data-price="3000" type="range" name="area" id="area" min="30" max="400" step="5" value="100" oninput="farea.value = area.value">
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
4 чекбокса, как при выборе вставить значение через запятую espltd Элементы интерфейса 2 09.09.2015 09:07
Значение переменной через запятую DDSSDD Серверные языки и технологии 41 16.10.2014 15:01
Переход в категорию через поле INPUT IG-M Элементы интерфейса 2 11.05.2014 14:40
Сдвиг div'a через текстовое поле AIRpwnz Общие вопросы Javascript 4 21.02.2013 12:44
Изменение текста слоя по изменениям в текстовом поле Воитель Общие вопросы Javascript 4 21.10.2008 11:03