2012-01-07 58 views
0

如何使用jQuery填充輸入帶有日期

我有一個選擇像

<select id="Plan_Id" name="Plan_Id"> 
    <option value="30">Month</option> 
    <option value="365">Annual</option> 
</select> 

然後我有一個輸入要做到這一點

<input name="date" id="date_picker" type="text" class="text date_picker" /> 

所以基於我選擇的選項我想獲得今天的日期+值和輸入顯示是

m -d-Y。

所以如果今天是1月7日,我選擇30 - >月

我的投入將與2012年2月6日

+0

你有什麼如此遠?如果有一些現有代碼添加到... – nnnnnn 2012-01-07 05:44:40

+1

這個地方是學習,而不是放置您的要求,並得到它的解決方案。首先向我們展示你的嘗試,我們將幫助整理你的錯誤。 – AmGates 2012-01-07 05:46:04

+0

其實我做了這個手動我點擊輸入顯示我的日曆我選擇我想要的日期 - 記錄在我的數據庫以及..但我不知道在jquery如何獲得選擇的價值和總結日期(今天)並更新輸入。我在谷歌上看了一個多小時,並沒有找到解決方案。 – 2012-01-07 05:54:09

回答

0

而非一般的谷歌搜索,你要在JavaScript reference about the Date object特意找填充和在jQuery UI datepicker reference。在這兩者之間,你將獲得所有需要的信息來解決這個問題。但是,因爲我已經碰巧知道答案(或答案)...

給定一個JavaScript日期對象:

var today = new Date(); // current date returned by constructor with no params 

您可以通過設置天OF- ň天添加到它月份至當前值加上n - 月份和/或年份將根據情況自動調整。所以:

today.setDate(today.getDate() + 30); 
today.setDate(today.getDate() + 365); 

與jQuery的日期選擇器放在一起 「的setDate」 方法:

var theDate = new Date(); 

theDate.setDate(theDate.getDate() + 365); 

$("#date_picker").datepicker("setDate", theDate); 

演示:http://jsfiddle.net/WUdWs/1/

+0

謝謝夥計..完美的作品 – 2012-01-07 06:21:46

0

這裏是我的方式http://jsfiddle.net/gurkavcu/bRXmK/

$(function() { 
    $("#date_picker").datepicker({ 

    onSelect: function(dateText, inst) { 

     // Create selectedDay 
     var selectedDay = new Date(inst.currentYear,inst.currentMonth,inst.currentDay); 
     // Add day amount according to select box 
     selectedDay.setDate(selectedDay.getDate()+parseInt($("#Plan_Id").val(),10)); 
     // Show new day with your own style 
     $(this).val((selectedDay.getMonth()+1)+"-"+ 
        selectedDay.getDate()+"-"+ 
        selectedDay.getFullYear());  
     } 
    }); 
});