2016-09-19 4 views
0

Я пытаюсь добавить два уже рассчитанных и отформатированных поля ввода и не иметь большой удачи. Мой код:Добавление двух полей ввода с использованием Javascript

<input type='text' id='cage_linear_feet' value='83'> 
<input type='text' id='cage_estimate' disabled> 
<br> 
<input type='text' id='cage_doors' value='3'> 
<input type='text' id='doors_estimate' disabled> 
<br> 
<input type='text' id='cage_totals' disabled> 
<script> 
    function format(n) { 
     return n.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,"); 
    } 

    //Linear Feet Calculation 

     $(document).ready(LinearFeet); 
     document.getElementById('cage_linear_feet').addEventListener("keyup", LinearFeet); 

     var inputBox1 = document.getElementById('cage_linear_feet'); 

     function LinearFeet(){ 
     document.getElementById('cage_estimate').value = format(inputBox1.value*225); 
     } 

    //Doors Calculation 

     $(document).ready(CageDoors); 
     document.getElementById('cage_doors').addEventListener("keyup", CageDoors); 

     var inputBox2 = document.getElementById('cage_doors'); 

     function CageDoors(){ 
     document.getElementById('doors_estimate').value = format(inputBox2.value*1800); 
     } 

</script> 

Как добавить cage_estimate и doors_estimate вместе и отображения в cage_totals в реальном времени?

Спасибо,

Джон

ответ

1

Это то, что вы просите

как преобразовать запятую валюту в число в Java Script

parseFloat 

Эта функция подсчитайте. Вы должны называть его в каждой ключевой функции.

function setTotal(){ 
     var x=document.getElementById('doors_estimate').value; 
     var y=document.getElementById('cage_estimate').value; 

     if(x){ 
     if(y){ 
      var z=(parseFloat(x.replace(',',''))+parseFloat(y.replace(',','')));    
      document.getElementById('cage_totals').value=format(z); 
     } 
     } 
    } 

призывающие коды

function LinearFeet(){ 
    var inputBox1 = document.getElementById('cage_linear_feet');   
    document.getElementById('cage_estimate').value = format(inputBox1.value*225); 
    setTotal(); 
    } 


    function CageDoors(){ 
    var inputBox2 = document.getElementById('cage_doors');  
    document.getElementById('doors_estimate').value = format(inputBox2.value*1800); 
    setTotal(); 
    } 

РЕФЕРЕНТЫ:

parseFloat

replace

+0

Brilliant! Благодарю. Как получить cage_totals для показа в виде div? Например.

+0

@JohnHiggins document.getElementById ("divID"). InnerHTML = format (z); – Sanka

+0

Отлично, спасибо Санке. Просто сработал, но вы обновили сообщение, прежде чем я добрался до него! Еще раз спасибо. –

Смежные вопросы