在我的MVC应用程序的View Model类中,我有两个felds开始日期和结束日期。
public class MyClass
{
public DateTime StartDate {get;set;}
public DateTime EndDate {get;set}
}
以下是视图中的代码段
@Html.Kendo().DatePickerFor(m => m.StartDate)
@Html.Kendo().DatePickerFor(m => m.EndDate)
为StarDate和EndDate生成的ID和名称是" StartDate" &安培; "结束日期"分别
每当StartDate的值发生变化时,我希望我的EndDate值为StartDate + 2年 所以基本上EndDate = StartDate + 2年 这就是我现在所拥有的
<script>
$("#StartDate").on('change',function() {
var value = $("#StartDate").val();
$("#EndDate").val() = value;
});
</script>
我已经陷入了尝试在行
中将EndDate值设置为StartDate的问题 $("#EndDate").val() = value;
我收到错误"L-value is expected"
那么,是否有一些简单的方法来实现我解释的结果?
我在文本框中的日期格式是 2015年9月17日
答案 0 :(得分:0)
您只是在寻找
$("#EndDate").val(value);
阅读手册可以快速解决这个问题。
通过
$("#EndDate").val() = value;
您尝试调用某个方法,然后为结果分配一个没有意义的值,从而导致您获得的错误。
答案 1 :(得分:0)
请尝试$("#EndDate").val(value);
而不是$("#EndDate").val() = value;
对于日期格式9/17/2015,您可以通过以下方式获取EndDate值:
var m = value.match(new RegExp(&#34;(\\ d + / \\ d + /)(\\ d +)&#34;));
var endDateValue = m [1] +(parseInt(m [2])+ 2);
答案 2 :(得分:0)
这样可行:
<script>
$("#StartDate").on('change',function() {
var value = $("#StartDate").val();
//assuming value in format of 12/01/2001 or 12/02/15
var current = value.slice(-2) //this gets the current year - "15"
var years = 2;
current = parseInt(current) + years // 15+2
value = value.slice(0,-2) //12/02/
value = value.toString().concat(current) //12/02/17
$("#EndDate").val(value); //this is how u set the value
});
</script>