拖动;删除更新总计并删除项目

时间:2014-07-23 17:06:11

标签: javascript php jquery

我有一个拖放购物车,一旦我删除了一个项目,我在更新总价时遇到了问题。每当我删除该项目时,该表仍然存在。

这是我的addtocart PHP

<?php

define('INCLUDE_CHECK',1);
require "../connect.php";
if(!$_POST['img']) die("There is no such product!");
$img=mysql_real_escape_string(end(explode('/',$_POST['img'])));
$row=mysql_fetch_assoc(mysql_query("SELECT * FROM products WHERE img='".$img."'"));
echo '{status:1,id:'.$row['id'].',price:'.$row['price'].',txt:\'\
\
<table width="260" id="table_'.$row['id'].'">\
<tr>\
 <td width="60%" style="display:none;"><input type="text" name="id[]"  value="'.$row['id'].'" style="width: 30px; border-width: 0px;"></td>\
<td width="60%"><input type="text" name="roomname[]" value="'.$row['name'].'" style="width: 95px; border-width: 0px;"></td>\
<td width="10%"><input type="text" name="price[]" value="'.$row['price'].'"     style="width: 40px; border-width: 0px;"></td>\
<td width="15%"><select name="qty[]" id="'.$row['id'].'_cnt"      onchange="change('.$row['id'].');" style="width: 30px;">\
<option value="1">1</option>\
    <option value="2">2</option>\
        <option value="3">3</option>\
</slect>\
\
</td>\
<td width="15%"><a href="#" onclick="remove('.$row['id'].');return false;"           class="remove">remove</a></td>\
 </tr>\
 </table>\'}';
 ?>

我的javascript。

var purchased=new Array();
var totalprice=0;
$(document).ready(function(){
$('.product').simpletip({
    offset:[40,0],
    content:'<img src="img/ajax_load.gif" alt="loading" style="margin:10px;" />',
    onShow: function(){
        var param = this.getParent().find('img').attr('src');
        if($.browser.msie && $.browser.version=='6.0')
        {
            param = this.getParent().find('img').attr('style').match(/src=\"          ([^\"]+)\"/);
            param = param[1];
        }
        this.load('ajax/tips.php',{img:param}); 
    } 
});
$(".product img").draggable({
containment: 'document',
opacity: 0.6,
revert: 'invalid',
helper: 'clone',
zIndex: 100
});
$("div.content.drop-here").droppable({
        drop:
                function(e, ui)
                {
                    var param = $(ui.draggable).attr('src');
                    if($.browser.msie && $.browser.version=='6.0')
                    {
                        param = $(ui.draggable).attr('style').match(/src=\"([^\"]+)\"/);
                        param = param[1];
                    }
                    addlist(param);
                }
});
});
function addlist(param)
{
$.ajax({
type: "POST",
url: "ajax/addtocart.php",
data: 'img='+encodeURIComponent(param),
dataType: 'json',
beforeSend: function(x){$('#ajax-loader').css('visibility','visible');},
success: function(msg){
    $('#ajax-loader').css('visibility','hidden');
    if(parseInt(msg.status)!=1)
    {
        return false;
    }
    else
    {
        var check=false;
        var cnt = false;
        for(var i=0; i<purchased.length;i++)
        {
            if(purchased[i].id==msg.id)
            {
                check=true;
                cnt=purchased[i].cnt;
                break;
            }
        }
        if(!cnt)
            $('#item-list').append(msg.txt);
        if(!check)
        {
            purchased.push({id:msg.id,cnt:1,price:msg.price});
        }
        else
        {
            if(cnt>=3) return false;
            purchased[i].cnt++;
            $('#'+msg.id+'_cnt').val(purchased[i].cnt);
        }
        totalprice+=msg.price;
        update_total();
    }
    $('.tooltip').hide();
}
});
}
function findpos(id)
{
for(var i=0; i<purchased.length;i++)
{
    if(purchased[i].id==id)
        return i;
}
return false;
}
function remove(id)
{
var i=findpos(id);
totalprice-=purchased[i].price*purchased[i].cnt;
purchased[i].cnt = 0;
$('#table_'+id).remove();
update_total();
}
function change(id)
{
var i=findpos(id);
totalprice+=(parseInt($('#'+id+'_cnt').val())-purchased[i].cnt)*purchased[i].price;
purchased[i].cnt=parseInt($('#'+id+'_cnt').val());
update_total();
}
function update_total()
{
if(totalprice)
{
    $('#total').html('total: $'+totalprice);
    $('a.button').css('display','block');
}
else
{
    $('#total').html('');
    $('a.button').hide();
}
}

0 个答案:

没有答案