Javascript.RU

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

Проблема с повторяющимися дивами
Всем привет. Помогите решить такую проблемку:
Есть корзина покупок. Если в корзине только один товар, кнопки + и - товар работают, если 2 товара - работают только на первом товаре.

echo '<tr><td><img id="product_img_mini" src="/src/img/products/'.$item['img_1'].'"></td><td>'.$item['name_'.$_SESSION[USER_LANG].''].'</td><td width="120px"><div id="minus" tovar="'.$id.'">-</div><input id="incart" disabled="disabled" type="text" name="'.$id.'" value="'.$_SESSION['cart'][$id].'"><div id="plus" tovar="'.$id.'">+</div></td><td width="100px">'.$item['price'] * $_SESSION['cart'][$id].' грн.</td><td><a href="?page=cart&operation=delete&id='.$id.'"><img src="/src/img/del.png" alt="'.$delete.'" title="'.$delete.'"></a></td></tr>';


$(function(){
	$('#plus').click(function(){
		var product = $(this).attr('tovar');
		var count = $('#incart').attr('value');
		var newcount = +count + +1;
		$('#incart').val(newcount);
		
	});
	
	
	$('#minus').click(function(){
		if ($('#incart').attr('value') > 1) {
		var product = $(this).attr('tovar');
		var count = $('#incart').attr('value');
		var newcount = +count - +1;
		$('#incart').val(newcount);
		}
	});
});


ссылка на изображение https://ibb.co/kLi43G
Ответить с цитированием
  #2 (permalink)  
Старый 02.11.2017, 12:06
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

Значение id должно быть уникальным в пределах страницы.
Замените атрибут "id" на "class" и в скрипте работайте только с элементами текущей строки, а не со всеми элементами страницы, которые удовлетворяют селектору.
Ответить с цитированием
  #3 (permalink)  
Старый 02.11.2017, 12:12
Аспирант
Отправить личное сообщение для chellas88 Посмотреть профиль Найти все сообщения от chellas88
 
Регистрация: 23.10.2017
Сообщений: 37

Сообщение от Nexus Посмотреть сообщение
Значение id должно быть уникальным в пределах страницы.
Замените атрибут "id" на "class" и в скрипте работайте только с элементами текущей строки, а не со всеми элементами страницы, которые удовлетворяют селектору.
Но каждая строка выводится циклом. Подскажите пример кода плиз
Ответить с цитированием
  #4 (permalink)  
Старый 02.11.2017, 12:13
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

Сообщение от chellas88
Подскажите пример кода плиз
echo '<tr><td><img class="product_img_mini" src="/src/img/products/'.$item['img_1'].'"></td><td>'.$item['name_'.$_SESSION[USER_LANG].''].'</td><td width="120px"><div class="minus" tovar="'.$id.'">-</div><input class="incart" disabled="disabled" type="text" name="'.$id.'" value="'.$_SESSION['cart'][$id].'"><div class="plus" tovar="'.$id.'">+</div></td><td width="100px">'.$item['price'] * $_SESSION['cart'][$id].' грн.</td><td><a href="?page=cart&operation=delete&class='.$id.'"><img src="/src/img/del.png" alt="'.$delete.'" title="'.$delete.'"></a></td></tr>';
Ответить с цитированием
  #5 (permalink)  
Старый 02.11.2017, 12:16
Аспирант
Отправить личное сообщение для chellas88 Посмотреть профиль Найти все сообщения от chellas88
 
Регистрация: 23.10.2017
Сообщений: 37

Сообщение от Nexus Посмотреть сообщение
echo '<tr><td><img class="product_img_mini" src="/src/img/products/'.$item['img_1'].'"></td><td>'.$item['name_'.$_SESSION[USER_LANG].''].'</td><td width="120px"><div class="minus" tovar="'.$id.'">-</div><input class="incart" disabled="disabled" type="text" name="'.$id.'" value="'.$_SESSION['cart'][$id].'"><div class="plus" tovar="'.$id.'">+</div></td><td width="100px">'.$item['price'] * $_SESSION['cart'][$id].' грн.</td><td><a href="?page=cart&operation=delete&class='.$id.'"><img src="/src/img/del.png" alt="'.$delete.'" title="'.$delete.'"></a></td></tr>';
а в скрипте как обрабатывать каждую строку?
Ответить с цитированием
  #6 (permalink)  
Старый 02.11.2017, 12:28
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

chellas88, попробуй так:
$(function(){
	$('.plus,.minus').click(function(){
		var $t=$(this),
			$i=$t.parents('tr').find('.incart');

		$i.val(+($t.text()+'1')+parseInt($i.val()||1));
	});
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с радио кнопками px379 Общие вопросы Javascript 8 29.07.2013 09:30
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 16:12
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47