jQuery制作商城购物车自动计算金额表单

非常实用的一款jQuery制作商城购物车自动计算金额表单代码,可以计算多项物品总价。

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
   return IsNumber;

};
function calcProdSubTotal() {

    var prodSubTotal = 0;
    $(".row-total-input").each(function(){

        var valString = $(this).val()  0;

        prodSubTotal += parseInt(valString);

    });

    $("#product-subtotal").val(prodSubTotal);
};
function calcTotalPallets() {
    var totalPallets = 0;
    $(".num-pallets-input").each(function() {

        var thisValue = $(this).val();

        if ( (IsNumeric(thisValue)) &&  (thisValue != '') ) {

            totalPallets += parseInt(thisValue);

        };

    });

    $("#total-pallets-input").val(totalPallets);
};
function calcShippingTotal() {
    var totalPallets = $("#total-pallets-input").val()  0;
    var shippingRate = $("#shipping-rate").text()  0;
    var shippingTotal = totalPallets * shippingRate;

    $("#shipping-subtotal").val(shippingTotal);
};
function calcOrderTotal() {
    var orderTotal = 0;
    var productSubtotal = $("#product-subtotal").val()  0;
    var shippingSubtotal = $("#shipping-subtotal").val()  0;

    var orderTotal = parseInt(productSubtotal) + parseInt(shippingSubtotal);
    var orderTotalNice = "$" + orderTotal;

    $("#order-total").val(orderTotalNice);

};
$(function(){
    $('.num-pallets-input').blur(function(){

        var $this = $(this);

        var numPallets = $this.val();
        var multiplier = $this
                            .parent().parent()
                            .find("td.price-per-pallet span")
                            .text();

        if ( (IsNumeric(numPallets)) && (numPallets != '') ) {

            var rowTotal = numPallets * multiplier;

            $this
                .css("background-color", "white")
                .parent().parent()
                .find("td.row-total input")
                .val(rowTotal);                    

        } else {

            $this.css("background-color", "#ffdcdc"); 

        };

        calcProdSubTotal();
        calcTotalPallets();
        calcShippingTotal();
        calcOrderTotal();

    });
});

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索function
, this
, var
, val
, parseInt
jquery购物车
jquery购物车计算金额、jquery表单金额的验证、购物车表单、js计算购物车总金额、java计算购物车总金额,以便于您获取更多的相关知识。

时间: 2024-10-29 16:36:19

jQuery制作商城购物车自动计算金额表单的相关文章

jquery实现简洁文件上传表单样式_jquery

文章开始先告诉大家制作jquery实现简洁文件上传表单样式的简易教程. 效果图: 页面结构: <div class="uploader white"> <input type="text" class="filename" readonly="readonly"/> <input type="button" name="file" class="b

jQuery Validate让普通按钮触发表单验证的方法_jquery

 一般的表单校验都是直接注册在页面上的匿名函数,导致只能通过固定的提交方式触发表单校验,如果想自定义一个按钮触发表单校验如何实现呢? 目前写法: $(function(){ $("#form").validate({ rules : { user_name : { required : true }, -- }, messages : { user_name : { required : '用户名必填', }, -- } }); }); 改写方法: //编写表单验证函数validfor

JS和jQuery使用submit方法无法提交表单的原因分析及解决办法_javascript技巧

昨天,在做一个表单异步提交内容的时候,遇到很奇怪的问题,submit()方法无法进行提交,每次提交都是把 当前给刷新了,网络抓包发现,每次都是 get方式去获取 当前页面,完全没有post 请求,想着以前 遇上这样的问题 都是因为 表单中 有 name 或者 id 这些命名跟submit 有冲突,但是检查了几次,始终没有发现 名字冲突,所以这个可能性被排除. 平常自己做触发按钮,基本不用a 标签,但是昨天不知道什么 问题,竟然用了 a 而且还给了 href 为空,由于这个a 的class 有多个

jquery使用ul模拟select实现表单美化的方法_jquery

本文实例讲述了jquery使用ul模拟select实现表单美化的方法.分享给大家供大家参考.具体如下: 这里使用jquery实现ul模拟select,是jQuery插件实现的Select下拉菜单效果,类似的功能网上已经有一些了,每一款都代表了不同的编程思路,为学习提供一份参考. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-ul-select-table-codes/ 具体代码如下: <!DOCTYPE html PUBLIC &qu

实例解析jQuery插件EasyUI最常用的表单验证规则_jquery

例如:校验输入框只能录入0-1000之间 最多有2位小数的数字表单<input type="text" id="rate" name="rate" required="true" class="easyui-validatebox"  validType="rateCheck[0,1000]"  maxlength="6" /> $.extend($.fn

PHP jQuery Ajax提交与验证form表单详解

PHP jQuery Ajax Form 表单提交与验证实例解析,包括创建一个表单 html 页面.添加 JQuery 代码.jquery ajax 表单提交.jquery ajax 表单验证.反馈信息给用户.php ajax 表单验证,php ajax 提交表单,php ajax form 验证,php ajax 提交 form .   本实例用到 JQuery 类库本身的函数和功能,所有表单信息利用 PHPMailer 类库邮件的形式发送.   1.创建一个表单 html 页面   表单部分

jquery+ajax验证不通过也提交表单问题处理_jquery

validationEngine给我们为前端的表单验证减少了很大的工作量.大部分情况我们使用validationEngine验证表单的形式有几种方式: 1 使用正常的表单提交.这种情况validationEngine验证不通过是不会提交表单的. 2 使用ajax提交表单,但是没有使用ajax验证.          这种方式也比较简单,在我们使用ajax请求前检查验证是否通过就可以,例如: 复制代码 代码如下: //验证不通过时return      if(!$("form#ajaxForm&q

如何解决jQuery Validation针对动态添加的表单无法工作的问题?

为了充分利用ASP.NET MVC在服务端呈现HTML的能力,在<利用动态注入HTML的方式来设计复杂页面>一文中介绍了,通过Ajax调用获取HTML来呈现复杂页面中某一部分界面的解决方案.我们知道ASP.NET MVC默认集成了jQuery Validation,但是对于通过JavaScript动态添加的表单,客户端验证默认情况下是失效的. 还是以前文涉及的"联系人管理"为例,在一个ASP.NET MVC应用中定义了如下两个类型,Contact封装联系人信息,HomeCo

Jquery Validation插件防止重复提交表单的解决方法_jquery

由于在项目中应用了Jquery Validation表单验证插件,所以要实现在Validation验证完毕后,提交form,然后禁止按钮.CodeProject上有一个DisableBtnPostBack项目,但不无法和Jquery Validation结合,代码先贴出来,给大家提示下,碰到这种情况不要使用该代码.代码如下: js: 代码 复制代码 代码如下: function disableBtn(btnID, newText) { Page_IsValid = null; if (typeo