2012-02-20 64 views
0

我在我的aspx選擇器中有兩個Ajax日期時間選擇器。我希望在腳本中可以計算兩個日期之間的天數,並將「Number_Of_Days」文本框使用沒有頁面刷新的java腳本。對於從第二個日期開始的日期選擇,它應該計算應該檢查第一個日期時間選擇器的日期是否被選中的天數。使用javascript的兩個Ajax日期時間選擇器之間的天數

+0

你使用jquery ui日期選擇器? – tftd 2012-02-27 13:27:51

+0

Asp.Net中沒有Ajax DateTimePicker。 – Gunner 2012-02-28 10:55:08

回答

1

這裏試試這個。

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
FROM: 
<asp:TextBox 
    ID="dateFrom" 
    runat="server" /> 
<asp:CalendarExtender 
    ID="ajxCEFrom" 
    runat="server" 
    TargetControlID="dateFrom" 
    OnClientDateSelectionChanged="calcDays"/> 
TO: 
<asp:TextBox 
ID="dateTo" 
runat="server" /> 
<asp:CalendarExtender 
    ID="ajxCETo" 
    runat="server" 
    TargetControlID="dateTo" 
    OnClientDateSelectionChanged="calcDays"/> 
<div> 
    DIFFERENCE: <span id="result"></span> 
</div> 

並將此代碼用於您的JavaScript。

<script type="text/javascript"> 
function calcDays() { 
    var d1 = document.getElementById("<%=dateFrom.ClientID%>"); 
    var d2 = document.getElementById("<%=dateTo.ClientID%>"); 
    var result = document.getElementById("result"); 

    if(d1.value != "" && d2.value != ""){ 
     var dateFrom = new Date(d1.value); 
     var dateTo = new Date(d2.value); 
     var oneDay = 24 * 60 * 60 * 1000; 
     var diffDays = Math.abs((dateFrom.getTime() - dateTo.getTime())/(oneDay)); 
     result.innerHTML = diffDays + " day/s apart."; 
    } 
} 
</script> 

希望它有幫助。

+0

感謝@Drew的回覆。查看代碼似乎工作正常,但我得到了一個小錯誤**控件集合無法修改,因爲控件包含代碼塊(即<% ... %>)。**。請幫我解決這個問題提前致謝。 – Gunner 2012-02-28 10:53:06

+1

您是否將您的控件的ClientIDMode設置爲靜態?如果是這樣,您可以使用您的控件的ID而不是ClientID。 – Drew 2012-02-28 11:41:22

相關問題