2016-08-28 7 views
0

here.のような類似の電卓を作成したいと思います。マルチの音量を計算します。訪問者は幅、長さ、高さ(厚さ)の3つの数字を挿入し、購入する必要があるかどうかを指示します。音量を計算する

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); 

は私がjsfiddle,にHTMLとJavaScriptを挿入したが、鉱山は動作しません。おそらく私は何か非常に明白なことを忘れています。もう少しjavascript?

更新:は少し前、誰かが作業コードを提供しますが、司会者がこんなに早く私はそれをコピーできませんでしたそれを削除... :(

+0

答えの所有者は、回答の質に関するコメントによってそうすることを恥知らずにしていたので、それを削除しました:p –

答えて

1

値を返すparseFloat(obj.val()).toFixed(2)コードが、あなた」

+2

答えは通常疑問符で終わることはありません –

+0

ええ、それは問題を解決するかできなかったかです。現在は意味をなさない。だから私は彼が試してみるためにそこに置くと思った。それを修正すれば、それを受け入れることができます。そうでなければ、大したことはありません。それは終わったことではありませんか? – Whothehellisthat

関連する問題