我正在尝试做一个带日期的简单页面(输入类型为TEXT),一旦输入日期,另一个字段将在输入中添加7天并在文本输入中显示日期(+7天).我对jQuery的了解有限,所以我可能有一个小bug ...
<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>
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
谢谢!
Kyl*_*uir 10
你试图分配一个对象$('#end_date').jQuery通过利用改变输入框的值来以不同的方式处理这个问题.val('value-here')
试试这个:
$('#start_date').change(function(){
$('#end_date').val(Add7Days());
});
Run Code Online (Sandbox Code Playgroud)
看到这个小提琴:http://jsfiddle.net/zydZ2/
此外,Moment.JS非常适合解析和操作日期,我强烈建议您查看:http://momentjs.com/
希望这可以帮助!
通过使用可以实现在现有日期添加7天的功能
var today_date = new Date()
alert(today_date)
today_date.setDate(today_date.getDate() + 7)
alert(today_date)
Run Code Online (Sandbox Code Playgroud)
这将使现有日期增加7天,如果它的31岁,它将使其成为下个月的第7天
希望这个帮助
| 归档时间: |
|
| 查看次数: |
25591 次 |
| 最近记录: |