需要帮助计算下拉列表中的价格和复选框

时间:2013-07-05 06:56:43

标签: jquery

我需要能够计算出正确的价格。如果已经选中了复选框,则在更改下拉数量之前它会很有效。

下面是我的html代码,它是两个复选框,一个包含价格的标签(span)和一个包含数量的下拉菜单。

请记住,有超过30行的项目,我在JFiddle中只包括2个。

以下是代码:

http://jsfiddle.net/M9uZ2/

请参阅上面的JFIDDLE链接以了解其余部分

对于上面的下拉列表,我想到了类似的东西,但它不起作用,可能是一个糟糕的方法。

$("#MainContent_ddlLipoB12").bind('change', function () {

                if ($('#MainContent_cbLipoB12').is(':checked')) {
                    $('#MainContent_cbLipoB12').prop('checked', false);
                    $("#MainContent_cbLipoB12").click();
                }
            });

任何想法将不胜感激!我尝试了几种不同的方法,价格永远无法正确计算。

1 个答案:

答案 0 :(得分:2)

由于您有多个复选框和下拉列表,因此需要多次复制代码才能拥有唯一ID。 更好的是,您可以拥有一个复选框和下拉列表,并触发更新数量时更新总费用的功能。我已经为下拉列表添加了一个类,并调用了一个更新总数的函数。这是适用于整个表格的函数体,

function calculateTotal() {
  var chargetotal = 0;
  $('#tab > tbody  > tr').each(function() {
    if ($('td:nth-child(1) > span >input', this).is(':checked')) {
    var price = parseFloat($('td:nth-child(3)', this).text().replace('$', ''));
    var quantity = $('td:nth-child(4) option:selected', this).val();
    chargetotal = chargetotal + price*quantity;
  }
  $('#MainContent_txtTotal').val(chargetotal);
  });
}

在复选框和下拉列表的更改事件上调用此函数。这是demo