2013-07-05 70 views
0

我需要能夠計算出正確的價格。直到我更改了下拉數量,如果複選框已被選中,它會很好地工作。需要幫助計算下拉和複選框的價格

下面是我的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

是我的解決方案有用嗎? –

回答

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