首页 > 如何让第一个input输入一个日期的时候,第二个input自动加一周(七天)?

如何让第一个input输入一个日期的时候,第二个input自动加一周(七天)?

    <table class="searchContent">
              <tr>
                <td>
                    账单开始日期:
                </td>
                <td >
                    <input type="text"  value="" name="date" class="date" maxlength="50"/>
                </td>
                <td>
                    账单截止日期:
                </td>
                <td >
                    <input type="text"  value=""  class="date" maxlength="50"/>
                </td>
                
                <td><div class="buttonActive"><div class="buttonContent"><button type="submit">查询</button></div></div></td>
              </tr>
            </table>

var d1=new Date();var d2=new Date(d1.setDate(d1.getDate()+7));
//console.log(d2);


给【确定】按钮绑定一个click事件,当点击【确定】的时候,拿到开始日期,处理之后将结果传给截止日期。


$('.searchContent input:first').change(function(){
    var date = new Date($(this).val());
    date.setTime(date .getTime() + 1000*60*60*24*7);
    
    $('...').val(date.format('yyyy-MM-dd'));
});

没注意,date的format是我在全局修改过的。。
https://jsfiddle.net/3xm6bx1x/2/


写一个方法:

function change(that,target){
    var dateStr = that.value; //获取选择日期字符串
    var date = new Date(that.value); //获取选择日期对象
    var time = date.getTime(); //获取选择日期时间戳
    //获取7天后的时间戳,毫秒级别
    var time7day = time + 7 * 24 * 60 * 60 * 1000;
    var date7day = new Date(time7day); //获取7天后的日期对象
    var dateStr7day = date7day.getFullYear + '-' + (Number(date7day.getMonth) + 1) + '-' + (Number(date7day.getDay()) + 1); //获取7天后的日期字符串
    target.value = dateStr7day; //给目标input赋值
}

然后在第一个input的onchange里面调用该函数,第一个参数传入this即可,第二个参数需要获取到目标input的dom对象,比如document.getElementById之类,或则使用jQuery:$("xxx")[0]。

【热门文章】
【热门文章】