使用基于所选选项的日期填充输入(今天日期+天)

时间:2012-01-07 05:41:21

标签: javascript jquery

如何使用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。

所以,如果今天是07年1月,我选择30 - &gt;月

我的输入将填充02-06-2012

2 个答案:

答案 0 :(得分:0)

您希望专门查看JavaScript reference about the Date objectjQuery UI datepicker reference,而不是一般的Google搜索。在这两者之间,您将拥有完成此任务所需的所有信息。但是因为我已经碰巧知道答案(或答案)......

给定一个JavaScript日期对象:

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

您可以通过将当月日期设置为当前值加 n 来添加 n 天数 - 月份和/或年份将自动生效适当调整。所以:

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

与jQuery datepicker“setDate”方法放在一起:

var theDate = new Date();

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

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

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

答案 1 :(得分: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());       
       }   
   });
});