2016-02-25 77 views
2

我需要幫助! 我需要一個jQuery腳本來計算總數: 我需要1個輸入字段的數量。 如果數量是: 1到60之間,價格是750, 61和90之間,價格是850, 91和120之間,價格是995, 我還需要添加新的行與數量輸入字段 ,我需要計算所有的總價格。 我已經嘗試過,但不知道該怎麼做。jquery用數量和步驟計算總數

謝謝。
我曾嘗試以下:

<script type="text/javascript"> 
    function miaFunzione() { 
     $("#Container").append("<li><input type='text' class='qty' value='' placeholder='superfice' /> <a onclick='miaFunzione()'>aggiungi [+]</a></li>"); 

     var totale = 0; 

     $("#Container li").each(function() { 
      var qty = new Number($(this).children('.qty').val()); 

      if (qty <= 60) { 
       prezzo = 750; 
      }else if (qty >= 61 && qty <= 90){ 
       prezzo = 850; 
      }else if (qty >= 91 && qty <= 120){ 
       prezzo = 995; 
      }; 

      totale = totale + prezzo; 

     }); 

     $("#totMoney").html(totale); 
    } 
</script> 

這是HTML代碼

<ul id="Container"> 
    <li> 
     <input type="text" value="" class="qty" placeholder="superfice" /><a onclick="miaFunzione()">aggiungi [+]</a> 
    </li> 
</ul> 
<br /> 

TOTALE COSTO: € <strong id="totMoney">0</strong> 
+0

你的問題是什麼,你有什麼問題嗎? –

+1

您應該真正使用on()而不是使用內聯綁定進行綁定。但正如@Frayne Konok所問,你有什麼問題?你看到什麼錯誤? – Taplar

+0

爲qty創建一個onchange事件,然後獲取總數,當您創建一個新行時,不會得到總數。 –

回答

0

檢查這個的jsfiddle我的發你https://jsfiddle.net/n5zoyxq3/

function miaFunzione() { 
    $("#Container").append("<li><input type='text' class='qty' value='' placeholder='superfice' /> <a onclick='miaFunzione()'>aggiungi [+]</a></li>"); 

    var totale = 0; 
    var prezzo = 0; 

    $("#Container li").each(function() { 
     var qty = parseFloat($(this).children('.qty').val()); 
    if(qty > 0) { 
     if (qty <= 60) { 
     prezzo = 750; 
     }else if (qty >= 61 && qty <= 90){ 
     prezzo = 850; 
     }else if (qty >= 91 && qty <= 120){ 
     prezzo = 995; 
     }; 
    } 

     totale = totale + prezzo; 
     prezzo = 0; 

    }); 

    $("#totMoney").html(totale); 
} 

我已經改變了線 「變種數量=新的編號($(本)。兒童( '數量')VAL());」到 「var qty = parseFloat($(this).children('.qty')。val());」只是爲了避免在「.qty」沒有數字值的情況下出錯。

在該行下面,我添加了一個「if」來檢查var qty是否具有值,因爲您的用戶可以添加不帶值的各種輸入。

將prezzo分配給totale後,我將prezzo更改爲「0」,所以在下一個循環中prezzo將從零開始。

希望它可以幫助你。

+0

感謝Marco,它運行良好! – pippopippo

0

您可以使用此

$(document).ready(function(){ 
 
    $('body').on('keyup','li > .qty',function(){ 
 
     var totale = 0; 
 

 
     $("#Container li .qty").each(function() { 
 
      var qty = parseFloat($(this).val()); 
 

 
      if (qty <= 60) { 
 
       prezzo = 750; 
 
      }else if (qty >= 61 && qty <= 90){ 
 
       prezzo = 850; 
 
      }else if (qty >= 91 && qty <= 120){ 
 
       prezzo = 995; 
 
      } 
 

 
      totale += qty + prezzo; 
 

 
     }); 
 

 
     $("#totMoney").html(totale); 
 
    }); 
 
    $('body').on('click','li > a',function(){ 
 
     $("#Container").append("<li><input type='text' class='qty' value='' placeholder='superfice' /> <a>aggiungi [+]</a></li>"); 
 

 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul id="Container"> 
 
    <li> 
 
     <input type="text" value="" class="qty" placeholder="superfice" /><a>aggiungi [+]</a> 
 
    </li> 
 
</ul> 
 
<br /> 
 

 
TOTALE COSTO: € <strong id="totMoney">0</strong>

+0

感謝穆罕默德,它運行良好! – pippopippo

+0

@pippopippo歡迎您 –