[英]Datepicker set default date
我試圖在初始化上為Jquery datepicker設置默認日期。 這是我的html:
var content = "";
content = "<table class=\"filter-table\">";
content += "<tr><td><label for='startDate'>From </label></td><td><input name='startDate' id='startDate' class='date-picker' /></td></tr>";
content += "<tr><td> </td></tr>";
content += "<tr><td><label for='endDate'>To </label></td><td><input name='endDate' id='endDate' class='date-picker' /></td></tr>";
而我的JavaScript:
<script type="text/javascript">
function showdatepicker() {
$('.date-picker').datepicker( {
changeMonth: true,
changeYear: true,
changeDay: true,
showButtonPanel: true,
dateFormat: 'yy-mm-dd',
onClose: function(dateText, inst) {
var day = $("#ui-datepicker-div .ui-datepicker-day :selected").val();
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$('#startDate').datepicker({defaultDate: -30});
$('#endDate').datepicker({defaultDate: new Date()});
}
});
}
</script>
我想做的是設置日期並在加載頁面時在文本框中顯示。 endDate應該是當前日期,而開始日期應該是一個月前。 但是,通過使用這些代碼,第一次加載時它不會在文本框中顯示日期。
我不知道為什么會這樣。 提前致謝。
我和您一樣,無法在datepicker上使用一種方法在輸入中填充默認日期。
因此,我改為使用香草JS編寫代碼來計算默認日期並將其格式化以顯示在文本框中。
這是我添加的JS:
function showdatepicker() {
// same as yours
}
function populateDefaultValues() {
var today = new Date();
var month = today.getMonth() - 1,
year = today.getFullYear();
if (month < 0) {
month = 11;
year -= 1;
}
var oneMonthAgo = new Date(year, month, today.getDate());
$('#startDate').val($.datepicker.formatDate('yy-mm-dd', today));
$('#endDate').val($.datepicker.formatDate('yy-mm-dd', oneMonthAgo));
}
$(function() {
populateDefaultValues();
showdatepicker();
});
看看defaultDate
選項。 它提供了您所需的功能。
由於每個日期選擇器的默認日期選項會有所不同,因此您需要分別對其進行初始化(基本上是復制粘貼,並進行調整以適合)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.