Показать сообщение отдельно
  #1 (permalink)  
Старый 21.11.2016, 13:29
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

Увеличить/уменишить число при клике на кнопку
Добрый день! Я не давно на этом форуме и вообще в JS, по этому сразу попрошу не бросаться тапками если вопрос покажется слишком простым

У меня есть блок - количество товара в корзине, вот его разметка:

<div class="col-lg-2 col-md-2 col-sm-2 hidden-xs number-update">
	<h2>
		<span id="number-prev" class="number-actual" onClick="numberPrev()">- </span>
		<span id="valueNumber">2</span>
		<span id="number-next" class="number-actual" onClick="numberNext()"> +</span>
	</h2>
</div>
<div class="col-lg-2 col-md-2 col-sm-2 hidden-xs number-update">
        <!-- Далее такие же блоки в n-ом количестве -->
</div>


Как вы уже догадались мне нужно что бы при нажатии на + или - количество либо увеличивалось либо уменьшалось.

Я хочу реализовать это с помощью 2 соответствующих функций, вот их начало:

function numberPrev(){
	$('.number-update').click(function(){
		var numberValue = $(this).find("#valueNumber").text();
		console.log(numberValue);
	})
}
	
function numberNext(){
	$('.number-update').click(function(){
		var numberValue = $(this).find("#valueNumber").text();
		console.log(numberValue);
	})
}


Сейчас, проблема в том что я не могу "по человечески" обратиться к значению которое содержится в span у которого #valueNumber - это и есть количество. Проблема следующего характера, при выполнении этих функции, значение из "valueNumber" берется не 1 раз, а трижды, то есть из-за того что в функции присутствует:
"$('.number-update').click(function()"

Она выводит по значению с каждой функции, а потом только (третьим номером), то значение которое мне и правда нужно.
Вообще я понимаю что вся загвоздка в:
"$('.number-update').click(function()"

Но как ее заменить для того что бы смело использовать "$(this)", я не могу разобраться уже второй день.

Заранее благодарен за любую помощь
Ответить с цитированием