Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 05.11.2013, 13:58
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Сообщение от Chekist Посмотреть сообщение
добавлять id товара в строку класса id полей цены и количества на стадии формирования документа (в php).
Тем самым на выходе кода буду иметь уже готовые разные id с номерами...
хм.. а потом уже только с ними и работать. Тогда и определять никаких родителей не надо
Да, именно это я и хотел вам продемонстрировать.

Но порой HTML генерируется не по вашему сценарию (например CMS), и тогда уже надо уметь работать с теми селекторами, которые есть.
Ответить с цитированием
  #22 (permalink)  
Старый 05.11.2013, 14:04
Аспирант
Отправить личное сообщение для Chekist Посмотреть профиль Найти все сообщения от Chekist
 
Регистрация: 31.10.2013
Сообщений: 38

С этой стадией разобрался... теперь сижу ломаю голову как написать следующий скрипт.
Имеется функция, которая по клику считает переменную sumTovar.
Каким образом при следующем клике по этой функции я смогу получить новую переменную, содержащую старое значение sumTovar + новое её значение???
И так каждый раз, когда я вызываю эту функцию. Все время к сумме старых sumTovar прибавлялось бы новое только что рассчитанное.
Понимаю, что цикл... но никак не выходит........
Ответить с цитированием
  #23 (permalink)  
Старый 05.11.2013, 14:14
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Chekist
при следующем клике по этой функции
На функцию кликнуть нельзя... Кликают на некий ДОМ-элемент...
Ответить с цитированием
  #24 (permalink)  
Старый 05.11.2013, 14:15
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Я так понимаю это актуальная версия вашего скрипта?

$(function (){

    $('.check').click(function (){

        var o=this.parentNode.parentNode;

        var sum=$(o).find('.tovar-price > span').text();
        sum = parseInt(sum, 10);
        var n=$(o).find('.numbers > input').val();
        if (!n, n<=0) {
                 alert ("Вы выбрали неверное число");
                 exit;
        }
        else
        alert(sum*n);

    });

});


Зачем вам второй скрипт тогда? Добавьте внутри события click проверку на существование значения в sumTovar - если значение не существует то переменной присвойте ноль. Если существует, то присваете переменной это значение. В конце сложить.

Сообщение от ksa Посмотреть сообщение
На функцию кликнуть нельзя... Кликают на некий ДОМ-элемент...
Ага.. я тоже обратил внимание )
Ответить с цитированием
  #25 (permalink)  
Старый 05.11.2013, 14:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Chekist
Понимаю, что цикл...
Какой там цикл?

Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
function inc(Obj) {
	var n=Obj.getAttribute('data-sum');
	Obj.setAttribute('data-sum',++n);
	alert(n);
};
</script>
</head>
<body>
<button onclick='inc(this);'>Test</button>
</body>
</html>
Ответить с цитированием
  #26 (permalink)  
Старый 05.11.2013, 14:34
Аспирант
Отправить личное сообщение для Chekist Посмотреть профиль Найти все сообщения от Chekist
 
Регистрация: 31.10.2013
Сообщений: 38

Сообщение от ksa Посмотреть сообщение
На функцию кликнуть нельзя... Кликают на некий ДОМ-элемент...
Ну уж простите, оговорился - весь в своих мыслях был по этому поводу.
Программированием не занимался никогда и посмотрел несколько уроков - сижу осваиваю самостоятельно.
Еще ни читал Ваши ответы, но идея кстати возникла - создавать массив через цикл, куда записывать сразу 1) сумму за товар 2) его название.
Все же мне кажется почему-то удобнее потом этот вид будет для представления в корзине, ну и суммировать можно значения в нём же.
Как считаете? Коды не прошу - додуматься хочу сам.
Ответить с цитированием
  #27 (permalink)  
Старый 05.11.2013, 14:49
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Мне кажется, вам надо сначало продумать ваши шаги до самого конца: какие варианты действий будут у пользователей, какие данные нужны вам выделить при определённых действиях, куда эти данные записать и тд. А потом уже реализовывать технически ваши планы.

Например. Готовая сумма (сумма к уплате) - это результатные данные (производный продукт), его записывать в БД не нужно. Что нужно точно? Id продукта, Id покупателя, Id заказа, количество продукта. И это всё что вам надо знать для заказа. Работайте с этими данными, а не с производным результатами.
Ответить с цитированием
  #28 (permalink)  
Старый 05.11.2013, 14:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Chekist, массив "живет" до первой перезагрузки страницы... Или до первой смены страницы...

Корзину "хранить" лучше:
- на сервере (если известен пользователь)
- в сессии
- в куках
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли считать инфу посетителей с чужого сайта? Klerik Общие вопросы Javascript 2 20.09.2013 15:42
зависымый select на html возможно ли? pro_ef Библиотеки/Тулкиты/Фреймворки 1 20.02.2013 22:49
Возможно ли? zork0 Общие вопросы Javascript 8 12.12.2012 16:09
Возможно ли обращение к select по его name? Diablos Общие вопросы Javascript 15 26.09.2011 23:13
Возможно ли это? white.bear Я не знаю javascript 1 05.01.2011 12:53