日期选择器文本框更改为下一个文本框添加月份

时间:2014-03-04 22:10:28

标签: jquery asp.net-mvc modal-dialog jquery-ui-datepicker

在我的Asp.Net mvc webapplication中,我有一个场景,其中有2个日期选择器文本框。从第一个文本框中选择一个日期(jquery ui日历选择器)。选择日期并移出文本框...下一个文本框应显示日期+ 48个月。如何用jquery实现。

// first Textbox where i pick one date for jquery ui calender picker. On selecting and move out of text box below textbox should get selected date + 48 months with jquery

 @Html.TextBoxFor(model => model.ReleaseDate, new { @Value = @Model.ReleaseDate == null ? "" : string.Format("{0:MM/dd/yyyy}", @Model.ReleaseDate), @id = "releaseDate" })

//Second textbox
@Html.TextBoxFor(model => model.EndDate, new { @Value = string.Format("{0:MM/dd/yyyy}", @Model.EndDate ?? DateTime.Now.AddMonths(48)), @id = "endDate" })

2 个答案:

答案 0 :(得分:1)

从头到尾,请重新检查语法

你需要Javascript:

var sdate = $('#ReleaseDate').val();
var current = new Date(sdate);
current.setMonth(CurrentDate.getMonth()+48);

然后设置结束日期:

$('#EndDate').val(current.toLocaleDateString());

答案 1 :(得分:0)

我解决了我的问题。以下是修复

Fiddle

<input type="text" class="firstcal">
<input type="text" class="secondcal">

$(function() {
    $(".firstcal").datepicker({
        dateFormat: "dd/mm/yy",
        onSelect: function(dateText, instance) {
            date = $.datepicker.parseDate(instance.settings.dateFormat, dateText, instance.settings);
            date.setMonth(date.getMonth() + 48);
            $(".secondcal").datepicker("setDate", date);
        }
    });
    $(".secondcal").datepicker({
        dateFormat: "dd/mm/yy"
    });
});