2013-02-27 44 views
1

我對JQuery相當陌生,我沒有找到正確的方法來解決我的問題。如何使用JQuery datepicker將默認日期設置爲即將到來的星期六和星期日?

因此,這裏有我寫的代碼:

$(function() { 
     $("#from").datepicker({ 
        //dateFormat: 'yy-mm-dd', 
         minDate: 0, 
        defaultDate: "+1w", 
        changeMonth: true, 
        numberOfMonths: 1, 
         dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], 
        onSelect: function(selectedDate) { 
         $("#to").datepicker("option", "minDate", selectedDate); 
        } 
       }); 

       $("#to").datepicker({ 
        //dateFormat: 'yy-mm-dd', 
         minDate: 0, 
        defaultDate: "+1w", 
        changeMonth: true, 
        numberOfMonths: 1, 
         dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], 
        onSelect: function(selectedDate) { 
         $("#from").datepicker("option", "maxDate", selectedDate); 
        } 
       }); 
}); 

我要設置「#from」文本到最近的星期六(日)如果今天是星期六之前和「q若要」文本方框到星期日(日期),否則,將星期日(日期)放在兩個文本框中作爲默認日期。

ex。今天是02/27/2013(星期三),我想把03/02/2013放在「#from」和03/03/2013 in「#to」,如果今天是03/02/2013,我想把2013年3月3日在兩個文本框中。

我想創建一個變量currDay並存儲今天的日期。由於datepicker goe的日期從0-6開始,然後我將計算當前日期和即將到來的星期六/星期日之間的差異,然後將默認日期設置爲currDay + diff

我該如何去做呢?

非常感謝您的幫助。

回答

0

如果你一週的當天,您可以減去從位置,這個數字在本週得到你想要的結果:

$(function() { 
    var d = new Date(); 
    var n = d.getDay(); 

    var from=6-n; 
    var to=7-n; 

    if(n==0) 
     from=0; 

    $("#from").datepicker({ 
     //dateFormat: 'yy-mm-dd', 
     minDate: 0, 
     defaultDate: "+"+from+"d", 
     changeMonth: true, 
     numberOfMonths: 1, 
     dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], 
     onSelect: function (selectedDate) { 
      $("#to").datepicker("option", "minDate", selectedDate); 
     } 
    }); 

    $("#to").datepicker({ 
     //dateFormat: 'yy-mm-dd', 
     minDate: 0, 
     defaultDate: "+"+to+"d", 
     changeMonth: true, 
     numberOfMonths: 1, 
     dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], 
     onSelect: function (selectedDate) { 
      $("#from").datepicker("option", "maxDate", selectedDate); 
     } 
    }); 
}); 

http://jsfiddle.net/6WHyK/

0

我可能沒有澄清我的問題很好......感謝r0m4n的嘗試。我設法自己解決這個問題。如果粘貼在你的js節以下代碼,你會看到什麼,我試圖做...

function toDay() { 
    var date = new Date(); 
    var currDay = date.getDay(); 
    var diff = 7 - currDay; 
    return (diff); 
} 


$(function() { 
    var saturday = new Date(); 
    var sunday = new Date(); 
    sunday.setDate(sunday.getDate() + toDay()); 
    if (toDay != 0) { 
     saturday.setDate(saturday.getDate() - 1 + toDay()); 
    } else { 
     saturday = sunday; 
    } 
    var comingSaturday = (saturday.getMonth() + 1) + '/' + saturday.getDate() + '/' + saturday.getFullYear(); 

    var comingSunday = (sunday.getMonth() + 1) + '/' + sunday.getDate() + '/' + sunday.getFullYear(); 
    $("#from").val(comingSaturday); 
    $("#to").val(comingSunday); 
}) 

和當然,我在新的....我可能犯了一些錯誤,請隨時爲我挑選錯誤。再次感謝。

相關問題