一个用jquery实现的拖拽购物车程序,主要源码如下: <div class="cart" id="cart">
            <h3>购物车</h3>
    
            <div id="cartProducts">
            </div>
           
            <p>
                <strong>Total: <span id="cartTotal">0.-</span> $</strong>
            </p>
            <p>
                <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /></p>
        </div>
        <h1>分类</h1>
        <div id="products">
            
            
                <asp:DataList ID="DataList1" runat="server">
                    <ItemTemplate>
                    <div class="product" id="<%#Eval("f_id") %>">
                     <img alt="" src='uploads/<%#DataBinder.Eval(Container.DataItem,"f_simg") %>' /><h2><%#Eval("f_name") %></h2>
                <p style="color:red;">
                    粉黄线条
                </p>
                <p>
                    <strong>价格: <span>49.95</span> $</strong>
                </p>
                <a href="#" title="">add to cart</a>
                 </div>
                    </ItemTemplate>
                </asp:DataList>
               
           
            
        </div>
        <br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
        <script type="text/javascript">
            $(document).ready(function(){
                $('#products a').bind('click', function(){
                    $(this.parentNode).TransferTo({
                        to: addProductToCart(this.parentNode),
                        className: 'transferProduct',
                        duration: 400
                    });
                    return false;
                });
                $('div.product').Draggable({
                    revert: true,
                    fx: 300,
                    ghosting: true,
                    opacity: 0.4
                });
                $('#cart').Droppable({
                    accept: 'product',
                    activeclass: 'activeCart',
                    hoverclass: 'hoverCart',
                    tolerance: 'intersect',
                    onActivate: function(dragged){
                        if (!this.shakedFirstTime) {
                            $(this).Shake(3);
                            this.shakedFirstTime = true;
                        }
                    },
                    onDrop: addProductToCart
                });
            });
            var addProductToCart = function(dragged){
                var cartItem;
                var productName = $('h2', dragged).html();
                var productPrice = parseFloat($('span', dragged).html());
                var productId = $(dragged).attr('id');
                var isInCart = $('#' + productId + '_cart');
               
                if (isInCart.size() == 1) {
                    var quantity = parseInt(isInCart.find('span.quantity').html()) + 1;
                    isInCart.find('span.quantity').html(quantity + '').end().Pulsate(300, 2);
                    cartItem = isInCart.get(0);
                }
                else {
                    $('#cartProducts').append('<div class="productCart" id="' + productId + '_cart">' + productName + '<a href="#">删除</a><br />数量: <span class="quantity">1</span><br />价格: <span class="price">' + productPrice + ' $</span></div>').find('div.productCart:last').fadeIn(400).find('a').bind('click', function(){
                        $(this.parentNode).DropOutDown(400, function(){
                            $(this).remove();
                            calculateCartTotal();
                        });
                        return false;
                    });
                    cartItem = $('div.productCart:last').get(0);
                }
                calculateCartTotal();
                
                return cartItem;
            };
            var calculateCartTotal = function(){
                var total = 0;
                $('#cartProducts .productCart').each(function(){
                    var price = parseFloat($('span.price', this).html());
                    var quantity = parseInt($('span.quantity', this).html());
                    total += price * quantity;
                });
                $('#cartTotal').html(formatNr(total));
                $('#cart p').Highlight(500, '#ff0', function(){
                    $(this).css('backgroundColor', 'transparent');
                });
            };
            var formatNr = function(nr){
                thousands = parseInt(nr / 1000);
                hundreds = parseInt(nr - thousands * 1000);
                decimals = parseInt((nr - parseInt(nr)) * 100);
                return (thousands > 0 ? thousands + ' ' : '') + (nr > 1000 & hundreds < 100 ? '0' : '') + (nr > 1000 & hundreds < 10 ? '0' : '') + hundreds + '.' + (decimals > 0 ? decimals : '-');
            }
        </script>
        <script language="JavaScript" type="text/javascript">var client_id = 1;
        </script> 
 效果实现了。但是怎样把前台JS自动在购物车里显示的数据插入数据库中,也就是前台JS里的变量的值从后台.CS中插入数据库中呢?有知道的请帮帮我。 谢谢了

解决方案 »

  1.   

    代码太多啦。不过思路简单。
    当拖到购物车的时候就 加入 购物车。这个用ajax吧。
    至于怎样实现ajax应该不用说吧。
    关键是 你能知道 什么时候 应该触发ajax事件。
      

  2.   

    我是个初学者,可否给我个代码实现? 我想点击提交按钮后,在插入到数据库 只要把前台的JS变量的值取到CS里就行。。
      

  3.   

    这玩意儿都会抄了,post或者get怎么没有抄到手呢?
      

  4.   

    呵呵。上面的代码我是在别的地方抄的。所以才不会。我没有接触过 jquery ,所以才一头雾水希望有会的给我指点一下吧。谢谢了。。
      

  5.   

    不要弄这么复杂的东西吧. 先一步一步的来. 点一次,存一次数据库, 等熟悉jq了.再用jq吧.
      

  6.   

     function createQueryStringLogin(){  
    //              var password = encodeURI($("#password").val());//编码
    //              var code= encodeURI($("#codeValue").val());
    //            
    //        //******************************************************************************************************************************************************组合成对象的形式
                var queryString = {cName:cName1};
                return "cName=asd";
          }          
    function clear()
    {
        $("#userName").val("");
        $("#password").val("");
        $("#codeValue").val("");
    }$(function () { $.get("sendMsg.aspx",createQueryStringLogin(),
          //******************************************************************************************************************************************************发送请求
                function(data){ //回调函数
                alert(data);                                                        

                
                 }
                );})   function login(){    
         alert(data);                          
    //             $.get("sendMsg.aspx","",
    //       //******************************************************************************************************************************************************发送请求
    //             function(data){
    //            
    //                                                              
    ////                  if(data.indexOf("admin") >= 0)                
    ////                   {                      
    ////                       location.href="members.aspx";
    ////                        
    ////                    }
    ////                    else if(data.indexOf("codeError") >= 0)
    ////                    {
    ////                        $(".codeImg").click();      
    ////                        alert("验证码错误!");
    ////                       
    ////                        
    ////                    }
    ////                   else
    ////                   {
    ////                      $(".codeImg").click();
    ////                       alert("登陆失败!");
    ////                 //****************************************************************************************************************************************************** setTimeout(function (){  $("#loginWin").dialog('close');},300); 
    ////                        
    ////                    }
    //             
    //              }
    //             );
                }   
    $(function(){  //相当于window.ready 页面加载完自动调用
    $("#loginbtn").click(login()); //绑定id为loginbtn的点击事件
    })
      
      

  7.   

    用cookie或者ajaxcookie只能选完物品后,统一提交服务器
    ajax可以实时跟服务器交换信息,具体的去看ajax资料