我需要能够计算出正确的价格。如果已经选中了复选框,则在更改下拉数量之前它会很有效。
下面是我的html代码,它是两个复选框,一个包含价格的标签(span)和一个包含数量的下拉菜单。
请记住,有超过30行的项目,我在JFiddle中只包括2个。
以下是代码:
请参阅上面的JFIDDLE链接以了解其余部分
对于上面的下拉列表,我想到了类似的东西,但它不起作用,可能是一个糟糕的方法。
$("#MainContent_ddlLipoB12").bind('change', function () {
if ($('#MainContent_cbLipoB12').is(':checked')) {
$('#MainContent_cbLipoB12').prop('checked', false);
$("#MainContent_cbLipoB12").click();
}
});
任何想法将不胜感激!我尝试了几种不同的方法,价格永远无法正确计算。
答案 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