<span id="digit"> </span>
<span id="total"> </span>
<input type="submit" id="subm">
при добавлении в <span id="digit"> нового числа (это делается нажатием на submit) должно выводиться новое значение суммы.
$(function() {
$(':submit').click(function(e) {
e.preventDefault();
$('#digit').each(function() {
var znach=$(this);
});
});
как быть дальше не соображу... искал, но функций подсчёта суммы для js не нашёл. :(
Спустя 16 минут, 47 секунд (7.05.2011 - 13:03) Lenarfate написал(а):
Спустя 21 минута, 26 секунд (7.05.2011 - 13:25) Michael написал(а):
Цитата |
есть <span id="digit"> с числами |
где числа то?
Цитата |
$('#digit').each(function() { |
Так перебирают коллекцию, а у тебя это один элемент.
Спустя 20 минут, 38 секунд (7.05.2011 - 13:45) l@pteff написал(а):
Michael, числа там есть, они вставляются не напрямую
Спустя 4 минуты, 16 секунд (7.05.2011 - 13:50) Michael написал(а):
// получаешь строку чисел
var s = $('#digit').html();
var arr = s.split('разделитель чисел');
// и по циклу уже пробежись, суммируя
Спустя 16 минут, 19 секунд (7.05.2011 - 14:06) l@pteff написал(а):
Michael, изменил так:
если не трудно, напиши пожал. какой будет цикл?
var s = $('#digit').html();
var arr = s.split('<br>');
если не трудно, напиши пожал. какой будет цикл?
Спустя 6 минут, 36 секунд (7.05.2011 - 14:13) l@pteff написал(а):
Так не работает:
for (i=0, sum=0; i < this.length; sum += this[i++]) {
$('#total').html(sum);
}
Спустя 4 минуты, 26 секунд (7.05.2011 - 14:17) Michael написал(а):
ты наугад что ли пишешь? А то бессмыслица какая то.
и скажи, что выводит
var s = $('#digit').html();
alert(s);
и скажи, что выводит
Спустя 5 минут, 53 секунды (7.05.2011 - 14:23) l@pteff написал(а):
при первом нажатии на submit выводит null, а при последующих-первое число из "digit"
Спустя 5 минут, 22 секунды (7.05.2011 - 14:28) Michael написал(а):
Цитата (l@pteff @ 7.05.2011 - 13:23) |
при первом нажатии на submit выводит null, а при последующих-первое число из "digit" |
А что - там есть и другие? Не может быть. .html() выведет все содержимое у <span id="digit"> </span>. Ты просто что то совершенно не то делаешь и информации нам реальной не даешь. Помощь бессмысленна.
Спустя 2 минуты, 14 секунд (7.05.2011 - 14:30) sharki написал(а):
Michael
А ты не заметил что он хочет подсчитывать сумму чисел из SPAN? обычно если нужен ввод чисел то должен быть инпут с полем текст, чтобы брать оттуда что либо, и уже складывать)
Какой то бред у парня...
А ты не заметил что он хочет подсчитывать сумму чисел из SPAN? обычно если нужен ввод чисел то должен быть инпут с полем текст, чтобы брать оттуда что либо, и уже складывать)
Какой то бред у парня...
Спустя 3 минуты, 18 секунд (7.05.2011 - 14:34) Michael написал(а):
Цитата (sharki @ 7.05.2011 - 13:30) |
Michael А ты не заметил что он хочет подсчитывать сумму чисел из SPAN? обычно если нужен ввод чисел то должен быть инпут с полем текст, чтобы брать оттуда что либо, и уже складывать) Какой то бред у парня... |
Та все я заметил. Я думал у него там что то типа: 7,8,99,44 и предлагал эту строку разбивать(split), но у него там что то иное ...
Спустя 9 минут, 7 секунд (7.05.2011 - 14:43) l@pteff написал(а):
Цитата |
обычно если нужен ввод чисел то должен быть инпут |
всё это есть, скоро выложу
Спустя 27 минут, 45 секунд (7.05.2011 - 15:11) Lenarfate написал(а):
l@pteff
я тебе уже отпостил выше. посмотри и не парься. очень простое решение
я тебе уже отпостил выше. посмотри и не парься. очень простое решение
Спустя 38 минут, 56 секунд (7.05.2011 - 15:50) l@pteff написал(а):
во-первых спасибо всем кто отозвался.
Lenarfate, решение хорошее, но здесь задача чуть сложнее.
Michael
sharki
реальная картина такова: есть страница заказа товаров такого вида:
при щелчке на соответвствующий submit в <span id="sort"> вставляется название товара и его цена
php-скрипт
В <td id="digit"> находятся значения цены.
Lenarfate, решение хорошее, но здесь задача чуть сложнее.
Michael
sharki
реальная картина такова: есть страница заказа товаров такого вида:
<form method="post" action="../php/script.php">
<a href="#">Товар1</a><input id="good1" name="good1" type="hidden" value="Товар1"/>
<input type="submit" id="subm1" class="basket" value="" title="Добавить в корзину"/><br>
<a href="#">Товар2</a><input id="good2" name="good2" type="hidden" value="Товар2"/>
<input type="submit" id="subm2" class="basket" value="" title="Добавить в корзину" /><br>
<a href="#">Товар3</a><input id="good3" name="good3" type="hidden" value="Товар3"/>
<input type="submit" id="subm3" class="basket" value="" title="Добавить в корзину" />
<span id="sort"> </span>
<span id="total"> </span>
при щелчке на соответвствующий submit в <span id="sort"> вставляется название товара и его цена
$(function() {
$('#sort').slideUp();
$('.basket').click(function(e) {
e.preventDefault();
var obj=$(this).prev().val();
$.post("../php/script.php", {good:obj}, function(data) {
$("#sort").append(data).show();
})
var s=$('#digit').html();
alert(s);
});
});
php-скрипт
$good1=addslashes($_POST['good1']);
$good2=addslashes($_POST['good2']);
$good3=addslashes($_POST['good3']);
foreach ($_POST as $key=>$val)
$query = mysql_query("select type_good, price_good from goods where type_good like '$val'");
if (mysql_num_rows($query)==0) {exit('Товара нет на складе');}
$row = mysql_fetch_assoc($query);
echo '<table><tr><td>'.$row['type_good'].'</td><td id="digit">'.$row['price_good'].'</td></t
В <td id="digit"> находятся значения цены.
Цитата |
Цитата (l@pteff @ 7.05.2011 - 13:23) при первом нажатии на submit выводит null, а при последующих-первое число из "digit" А что - там есть и другие? |
Если на каждый из сабмитов нажать по-очереди, в "digit" будет уже 3 значения.
А в <span id="total"> должна выводиться сумма заказа...
Спустя 16 минут, 22 секунды (7.05.2011 - 16:06) l@pteff написал(а):
может быть в таких случаях проще в бд высчитывать сумму заказа и тупо выводить в <span id="total">?
Спустя 2 минуты, 5 секунд (7.05.2011 - 16:08) Michael написал(а):
У тебя получается id-шки одинаковые будут. Лучше выводи классом.
А обновлять инфу надо после прихода ответа:
<td class="digit">'.$row['price_good'].'</td>
А обновлять инфу надо после прихода ответа:
$.post("../php/script.php", {good:obj}, function(data) {
$("#sort").append(data).show();
var sum = 0;
$('.digit').each(function(){
sum += parseInt($(this).html());
});
$('#total').html(sum);
})
Спустя 9 минут, 56 секунд (7.05.2011 - 16:18) l@pteff написал(а):
Michael, огромное спасибо за помощь, теперь всё высчитывает верно!
Спустя 2 часа, 39 минут, 7 секунд (7.05.2011 - 18:57) CyberOrcX написал(а):
я к кэпу щас ))
он точно бы подсказал, что надо было делать в первую очередь =)
он точно бы подсказал, что надо было делать в первую очередь =)