繁体   English   中英

日期选择器设置默认日期

[英]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>&nbsp;</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();
});

jsFiddle

看看defaultDate选项。 它提供了您所需的功能。

由于每个日期选择器的默认日期选项会有所不同,因此您需要分别对其进行初始化(基本上是复制粘贴,并进行调整以适合)。

http://api.jqueryui.com/datepicker/#option-defaultDate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM