Thanks alot - i've never been good with javascript... worked great.
On Apr 4, 3:01 pm, Wizzud <[EMAIL PROTECTED]> wrote:
> Initialise as numbers instead of strings?...
>
> var bagqty = 0;
> var bagtotal = 0;
>
> On Apr 4, 9:35 pm, Chuck Cheeze <[EMAIL PROTECTED]> wrote:
>
> > Here is my code:
>
> > <pre>
> > <script type="text/javascript">
> > //on page load
> > $(document).ready(function() {
> > //add up the cart totals and display on the page
>
> > //setup default values
> > var bagqty = '';
> > var bagtotal = '';
>
> > //get all table rows
> > $('#shoppingcart tbody tr').each(function() {
> > //get the row's price, remove the $
> > var price = parseFloat($('.itemprice',
> > this).text().replace(/^[^
> > \d.]*/, ''));
> > //make sure its a number
> > price = isNaN(price) ? 0 : price;
> > //get the row's quantity
> > var qty = parseInt($('.itemqty',
> > this).text());
> > //get the item's shipping amount
> > var ship = parseFloat($('.itemshipping',
> > this).text().replace(/^[^
> > \d.]*/, ''));
> > //make sure its a number
> > ship = isNaN(ship) ? 0 : ship;
> > //calculate the extended price
> > var extprice = (qty * price) + ship;
> > //add back in the $ sign and write to the
> > page
> > $('.itemextprice', this).text('$' +
> > extprice.toFixed(2));
> > //add to totals
> > bagqty += qty;
> > bagtotal += extprice;
> > });
>
> > //return the totals
> > $('.bagtotal').text('$' + bagtotal.toFixed(2));
>
> > });
>
> > </script>
> > </pre>
>
> > I have 2 issues-
>
> > 1- the bagqty += qty; and bagtotal += extprice; calculations return
> > appended values, not added. So if there are 2 products and the bagqty
> > values are 5 and 3 I get 53 instead of 8.
>
> > 2- the $('.bagtotal').text('$' + bagtotal); line won't work. I get a
> > bagtotal.toFixed is not a function error. It works fine in the
> > itemextprize calculation up higher.
>
> > Any ideas?