使用jQuery或Javascript将字段设置为将来的日期

时间:2010-10-08 15:03:30

标签: javascript jquery

我需要能够将输入字段设置为距当前日期365天的日期。此字段设置会员购买的到期日期。我有这个javascript由于某种原因不起作用。

<input type="text" name="ZoneExpiry" id="ExpiryDate" />
<script type="text/javascript">
function setExpiryDate( )
{
var dat=new Date();
dat.setDate(dat.getDate() + 45);
var monthname=new Array("Jan","Feb","Mar","Apr","May","Jun",   "Jul","Aug","Sep","Oct","Nov","Dec")
var pretty = dat.getDate() + "-" + monthname[dat.getMonth()] + "-" + dat.getFullYear();    
document.getElementById("ExpiryDate").value = pretty;
}
</script>

我不是javascript专家,但由于某种原因,这不是将输入字段设置为正确的值。

有没有办法修复这个javascript或使用jQuery完成类似的任务?

日期格式必须是2010年1月1日,所以日 - 月 - 4年。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

这对我来说很好。唯一似乎是错误的是你在当前日期而不是365天增加45天。

答案 1 :(得分:0)

使用jQuery:

    <input type="text" name="ZoneExpiry" id="ExpiryDate" />
    <script type="text/javascript">
    $.fn.setExpiryDate = function(expirationDay) {
       var dat = new Date(),
           pretty = 0,
           monthname = new Array("Jan","Feb","Mar","Apr","May","Jun", "Jul","Aug","Sep","Oct","Nov","Dec");

       dat.setDate(dat.getDate() + expirationDay);

       pretty = dat.getDate() + "-" + monthname[dat.getMonth()] + "-" + dat.getFullYear();

       $(this).val(pretty);
    }

    $('#ExpiryDate').setExpiryDate(365);
    ​</script>