2012-01-07 61 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());  
     } 
    }); 
});