2012-08-02 81 views
1

我正在嘗試自定義此腳本,以便onclick#startdatepicker將顯示本週日的日期格式爲yy-mm-dd格式,#enddatepicker將顯示下一個星期日。日期默認。Datepicker默認爲這個星期日

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#startdatepicker").datepicker({ 
      dateFormat: 'yy-mm-dd' 
     }); 
     $("#enddatepicker").datepicker({ 
      dateFormat: 'yy-mm-dd', 
     }); 
    }); 
</script> 
Start Date: <input type="text" id="startdatepicker"/><br /> 
End Date: <input type="text" id="enddatepicker"/><br />` 
+0

我假設你想這樣做,不給你輸入對應於這些日期的初始值? – 2012-08-02 13:03:10

+0

正確我希望它默認自動顯示下週日的日期 – 2012-08-02 13:04:24

回答

0

如果你總是希望在日期選擇器默認保存到下週日(不管今天的日期),請嘗試:

$(function() { 
    var sunday = new Date(),    // new Date object for current day 
     dow = sunday.getDay(),    // day of week (0-6) 
     toAdd = dow === 0 ? 0 : 7 - dow; // days to move forward 

    $("#startpicker").datepicker({ 
     dateFormat: 'yy-mm-dd', 
     defaultDate: toAdd 
    }); 

    $('#endpicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     defaultDate: toAdd+6 
    }); 
});​ 

同樣可以做到尋找下一個星期六,只需再增加6天。

http://jsfiddle.net/dYEMn/3

+0

當然;看到這個udpated演示:http://jsfiddle.net/dYEMn/5/在這種情況下,如果文本字段已經填充了所需的默認日期字符串,則不需要設置'defaultDate'。 – jackwanders 2012-08-02 13:42:58

+0

太棒了!再次感謝這正是我想要的! – 2012-08-02 13:45:13

0

可以使用defaultDate選項指定的日期,當它打開,<input>的價值是空白的日期選擇器顯示。您只需要獲取表示日期的日期對象或字符串,並在初始化元素上的日期選擇器時傳遞這些日期對象或字符串。

0

您可以使用選取器設置默認值。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#startdatepicker").datepicker({ 
      dateFormat: 'yy-mm-dd', 
      defaultDate: '12-08-05', 
     }); 
     $("#enddatepicker").datepicker({ 
      dateFormat: 'yy-mm-dd', 
      defaultDate: '12-08-12', 
     }); 
    }); 
</script> 
0

MDN具有良好的文檔約Date(),您可以使用getDay()來找出你需要多少天才能往前走才能到本週日和下週六。

http://jsfiddle.net/VesQ/ZdmCE/

$(document).ready(function() { 
    // Get current date 
    var now = new Date(); 
    // Get the day, 0 is Sunday and 6 is Saturday 
    var day = now.getDay(); 

    // How many days to this sunday 
    var daysToSunday; 
    if (day == 0) { 
     // Sunday is now 
     daysToSunday = 0; 
    } else { 
     daysToSunday = 7 - day; 
    } 

    // Days to next saturday is simple: 
    var daysToNextSaturday = daysToSunday + 6; 

    // See defaultDate option, 
    // http://jqueryui.com/demos/datepicker/#option-defaultDate 
    $("#startdatepicker").datepicker({ 
     dateFormat: 'yy-mm-dd', 
     defaultDate: daysToSunday 
    }); 
    $("#enddatepicker").datepicker({ 
     dateFormat: 'yy-mm-dd', 
     defaultDate: daysToNextSaturday 
    }); 
}); 
相關問題