2016-08-28 88 views
0

我想創建類似的計算器,如here.它計算覆蓋的體積。訪客插入三個數字:寬度,長度和高度(厚度),它告訴它必須購買多少。計算體積

HTML:

<form method="post" accept-charset="UTF-8"> 
<div class="form_area"> 

    <div class="form_fields"> 
     <div class="form_field "> 
      <label class="form_field_label">Width (m)</label> 
      <input type="text" value="" name="laius" id="laius" rel="calc" class="form_field_textfield form_field_size_medium"> 
     </div> 

     <div class="form_field "> 
      <label class="form_field_label">Length (m)</label> 
      <input type="text" value="" name="pikkus" id="pikkus" rel="calc" class="form_field_textfield form_field_size_medium"> 
     </div> 

     <div class="form_field "> 
      <label class="form_field_label">Thickness (cm)</label> 
      <input type="text" value="" name="paksus" id="paksus" rel="calc" class="form_field_textfield form_field_size_medium"> 
     </div> 

     <div class="form_field "> 
      <label class="form_field_label">Total (m<sup>3</sup>)</label> 
      <input type="text" value="" readonly name="kokku" id="kokku" class="form_field_textfield form_field_size_small"> 
     </div> 
    </div> 

    <div class="form_submit"> 
     <input type="submit" value="Arvuta" id="calc_submit" name="commit"> 
    </div> 
</div> 
</form> 

的javascript:

! function($) { 
    $(function() { 
     $("[rel='calc']").arvutus(); 
    }); 

    $.fn.arvutus = function() { 
     var inputs = $(this); 
     var kokku = $("#kokku:first"); 

     inputs.bind("change keyup", function() { 

      var obj = $(this); 

      if (obj.val() !== "") { 

       parseFloat(obj.val()).toFixed(2); 
      }; 
      arvuta(); 
     }); 

     $("#calc_submit").bind("click", function(e) { 
      e.preventDefault(); 
      arvuta(); 
     }); 

     function arvuta() { 
      var width = inputs.filter("#laius").val(); 
      width = width.toString(); 
      width = width.replace(",", "."); 
      var lenght = inputs.filter("#pikkus").val(); 
      lenght = lenght.toString(); 
      lenght = lenght.replace(",", "."); 
      var thickness = inputs.filter("#paksus").val(); 
      thickness = thickness.toString(); 
      thickness = thickness.replace(",", "."); 
      thickness = thickness/100; 
      var sum = width * lenght * thickness 
      sum = sum.toFixed(2); 
      kokku.val(sum + " m3 multši."); 
     }; 
    }; 
    }(window.jQuery); 

我插入HTML和JavaScript爲jsfiddle,,但我的不行。可能我想念一件非常明顯的事情。一些更多的JavaScript?

更新:前陣子,有人提供了一個工作代碼,但管理員移除得這麼快我不能複製它... :(

+0

答案的所有者刪除了它,因爲他被評論爲答案的質量而感到羞愧:p –

回答

1

代碼parseFloat(obj.val()).toFixed(2)返回一個值,但你」不要做任何事情,它應該存儲在某個地方,這樣你就可以用它來計算音量?

+2

答案通常不會以問號結束 –

+0

是的,它可以解決問題或不能解決問題。目前沒有意義。所以我想我會把它放在那裏讓他試試。如果它修復它,它可以被接受。如果沒有,沒有biggie。這是不是做過的事情? – Whothehellisthat