2013-10-14 40 views
0

還活着,我有3個文本框,(datefrom, dateto, per_day的Javascript做計算從文本框

我希望能夠在鍵入這些框,然後執行以下計算,而無需刷新頁面或提交表單:

dateto - datefrom = TOTAL 

然後

TOTAL * per_day 

這是可能的使用JavaScript - 沒有任何人有任何的例子嗎?

我曾嘗試:

<script type="text/javascript"> 
$("#todate").on('keyup',function(){ 
     var days_amount = $(this).val() - $("#fromdate").val() 
     var total = (days_amount) * $("#cost_per").val() 
     $(".total_text").html(total); 
}) 
</script> 

From Date: <input type="text" name="fromdate" id="fromdate" value="10" /><br /> 
    To Date: <input type="text" name="todate" id="todate" value="" /><br /> 
    Cost Per: <input type="text" name="cost_per" id="cost_per" value="" /><br /> 
    <p>Total: <span class="total_text"></span></p>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

,但我只是得到的輸出:

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 
+1

是的。你需要學習Javascript。 – SLaks

+0

看看例如jQuery或其他框架,並檢查事件示例。 – pduersteler

+0

在提問之前,您應該學習Javascript的基礎知識。在進入像jQuery這樣的框架之前,最好從學習純Javascript開始。知道你在處理什麼總是很好的。也許看看http://www.w3schools.com/js/default.asp或其他任何教程。您可能會對左側導航欄中的JS HTML DOM部件感興趣。 – Butt4cak3

回答

1

可以。隨着事情變得越來越複雜,它可以幫助您使用框架爲您的代碼構建這種自動更新視圖,例如我喜歡Knockout但還有很多其他的。

+0

淘汰賽是好的,但這將是矯枉過正。 – Andrew

+0

看到我的問題編輯 – charlie

1

您可以使用jQuery

$("#elementId").val() 

轉換所有到日期類型

var date1 = new Date("#date1"); 
var date2 = new Date("#date2"); 
var timeDiff = Math.abs(date2.getTime() - date1.getTime()); 
var diffDays = Math.ceil(timeDiff/(1000 * 3600 * 24)); 

得到輸入域的日期和使用jquery

$("#result").text("value") 
$("#result").html("value") 
$("#result").val("value") 

結果放入一個新的領域它取決於現場。

+0

看到我的問題編輯 – charlie