我正在尝试做一个简单的页面,它需要一个日期(输入类型 TEXT),一旦输入日期,另一个字段将向输入添加 7 天并在文本输入中显示日期(+7 天)。我对 jQuery 的了解有限,所以我可能有一个小错误……
<html>
<head>
<title>Date Plus 7 Days</title>
<script type="text/javascript">
$(document).ready(function(){
function DateFromString(str){
str = str.split(/\D+/);
str = new Date(str[2],str[0]-1,(parseInt(str[1])+7));
return MMDDYYYY(str);
}
function MMDDYYYY(str) {
var ndateArr = str.toString().split(' ');
var Months = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec';
return (parseInt(Months.indexOf(ndateArr[1])/4)+1)+'/'+ndateArr[2]+'/'+ndateArr[3];
}
function Add7Days() {
var date = $('#start_date').val();
var ndate = DateFromString(date);
return ndate;
}
$('#start_date').change(function(){
$('#end_date') = Add7Days();
})
});
</script>
</head>
<body>
Start Date
<input type="text" id="start_date" value=''>
<br>
End date
<input type="text" id="end_date" value=''>
</body>
</html>
我做错了什么?
谢谢!
原文由 Gal Appelbaum 发布,翻译遵循 CC BY-SA 4.0 许可协议
您已尝试将对象分配给
$('#end_date')
。 jQuery 通过利用.val('value-here')
改变输入框的值以不同的方式处理这个问题尝试这个:
看到这个小提琴: http://jsfiddle.net/zydZ2/
此外,Moment.JS 非常适合解析和操作日期,我强烈建议您查看:http: //momentjs.com/
希望这可以帮助!