jQuery添加7天到目前为止(输入和输出类型文本)

Gal*_*aum 6 javascript jquery

我正在尝试做一个带日期的简单页面(输入类型为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/

希望这可以帮助!


Alo*_*wal 7

通过使用可以实现在现有日期添加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天

希望这个帮助