Цитата:
Тем самым на выходе кода буду иметь уже готовые разные id с номерами... хм.. а потом уже только с ними и работать. Тогда и определять никаких родителей не надо :) Правильно? :dance: Или я уже сам себя перехитрить пытаюсь? |
Цитата:
НО! Описанный вами метод не работает, а именно скрипт пишет уже в самом начале в var product_id пустоту! Поэтому и не работает дальше... Что в строке var product_id = this.id; не так?? |
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<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 (){
$('.check').click(function (){
var o=this.parentNode.parentNode;
var sum=$(o).find('.tovar-price > span').text();
var n=$(o).find('.numbers > input').val();
alert(sum*n);
});
});
</script>
</head>
<body>
<div class="tovar" id="41">
<div class="tovar-image">
<img src="/img/b/f1.jpg">
</div>
<div class="tovar-name">
Патрик<br>
</div>
<div class="tovar-inside-and-size">
(гелий, 80х60 см)
</div>
<div class="tovar-price">
<span>280</span> руб/шт
</div>
<div class="numbers">
<span class="minus">-</span>
<input id="41" type="text" value="1" size="3">
<span class="plus">+</span>
<span class="check">=</span>
</div>
</div>
</body>
</html>
|
Цитата:
Прошу прощения за кривость html, но это чтоб быстрее показать что ВСЁ РАБОТАЕТ! )))) Спасибище! http://jsfiddle.net/Mv6u6/4/ ps. Два дня изучаю яву+jq и это что-то с чем-то я скажу Вам, когда после нескольких часов получаешь рабочий код.... )))) да вы и сами наверное знаете )) |
this.parentNode.parentNode - это не совсем правильный путь. Он жестко привязывает код к верстке. Логичнее было бы наоборот идти сверху вниз - сначала собрать в массив товар, а затем навешивать калькуляторы на каждый.
Цитата:
|
В качестве бонуса можно попросить допилить немного код
http://jsfiddle.net/Mv6u6/4/ на проверку чтобы в input не было левых символов (буквы, отрицательные итп) только числа от 1 до 999. В противном случае возвращалась бы ошибка строкой. ??? Можно конечно отправить меня читать основы... как вариант )))) |
Цитата:
http://jsfiddle.net/Mv6u6/4/ Спасибо!!! |
Цитата:
Работает до первого редизайна, а затем верстальщику придется искать, почему перестало работать |
Допилил код на проверку данных в input (переменная n количество товара) - должна быть только целым числом >= 1.
Вот код: http://jsfiddle.net/Mv6u6/5/ Последний вопрос - всё ли я учел? Или есть вариант более корректный? |
Цитата:
|
| Часовой пояс GMT +3, время: 15:45. |