Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2015, 15:12
Аспирант
Отправить личное сообщение для goooooch Посмотреть профиль Найти все сообщения от goooooch
 
Регистрация: 24.10.2010
Сообщений: 46

Функция для изменения значения input-a
Всем привет.
В нескольких местах страницы есть html:
<div class="input-count">
    <input type="text" name="quantity" value="1.8" />             
   <div class="plus-minus">              
                  <div class="up">
                    <i class="fa fa-caret-up"></i>
                  </div>
                  <div class="down">
                    <i class="fa fa-caret-down"></i>
                  </div>             
   </div>  
</div>


Задача:
написать функцию, которая по клику на i соответственно уменьшала/увеличивала value у input-a на 0,1.

Задайте, пожалуйста, направление движения. Какие функции и алгоритм подойдут для этой цели?
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2015, 15:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от goooooch
Задайте, пожалуйста, направление движения.
Нужно использовать особенности ДОМ-структуры...
Ответить с цитированием
  #3 (permalink)  
Старый 23.10.2015, 15:54
Аспирант
Отправить личное сообщение для goooooch Посмотреть профиль Найти все сообщения от goooooch
 
Регистрация: 24.10.2010
Сообщений: 46

Сообщение от ksa Посмотреть сообщение
Нужно использовать особенности ДОМ-структуры...
Зачем пишете это? Пройдите мимо со своими "остроумными" сообщениями.
Ответить с цитированием
  #4 (permalink)  
Старый 23.10.2015, 16:17
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

<style>
	i {
		width: 20px;
		height: 20px;
		border: 2px solid #ccc;
		display: inline-block;
		text-align: center;
	}

	.fa-caret-up:before {
		content: '+'
	}

	.fa-caret-down:before {
		content: '-'
	}
</style>

<div class="input-count">
	<input type="text" name="quantity" value="1.8" />             
	<div class="plus-minus">              
		<div class="up">
			<i class="fa fa-caret-up"></i>
		</div>
		<div class="down">
			<i class="fa fa-caret-down"></i>
		</div>             
	</div>  
</div>

<script>
	document.onclick = function(e) {
	  if ( !e.target.classList.contains('fa') ) return;

	  var inpElem = e.target.closest('.input-count').querySelector('input[type=text]'),
	      val = +inpElem.value;

	  e.target.classList.contains('fa-caret-up') && (val += 0.1);
	  e.target.classList.contains('fa-caret-down') && (val -= 0.1);

	  inpElem.value = val.toFixed(1);
	};
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 23.10.2015, 16:23
Аспирант
Отправить личное сообщение для goooooch Посмотреть профиль Найти все сообщения от goooooch
 
Регистрация: 24.10.2010
Сообщений: 46

Спасибо. Код задачу решает. Но хотелось бы именно направление решения данной задачи на Jquery. Какие функции, атрибуты и алгоритм подойдут для этой цели?

Последний раз редактировалось goooooch, 23.10.2015 в 16:26.
Ответить с цитированием
  #6 (permalink)  
Старый 23.10.2015, 16:38
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от goooooch
Но хотелось бы именно направление решения данной задачи на Jquery
$('.input-count').on('click', '.fa', function(e) {
      var inpElem = $(this).closest('.input-count').find('input[type=text]'),
          val = +inpElem.val();
      
      $(this).hasClass('fa-caret-up') && (val += 0.1);
      $(this).hasClass('fa-caret-down') && (val -= 0.1);
      
      inpElem.val( val.toFixed(1) );
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
input radio при выборе передавать значения в скрипт portalamur AJAX и COMET 16 19.09.2013 22:14
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
изменение картинок в зависимости от значения input jump91 Общие вопросы Javascript 2 30.01.2012 09:57
Значения input radio bFire Events/DOM/Window 1 21.11.2010 03:42