Datepicker 将今天的日期设置为默认值

Posted

技术标签:

【中文标题】Datepicker 将今天的日期设置为默认值【英文标题】:Datepicker set today's day as a default 【发布时间】:2015-05-06 21:25:14 【问题描述】:

所以我有一个日期选择器,当我选择一天时,星期几被插入到另一个输入中。

$( "#datepicker" ).datepicker(
dateFormat: "dd-mm-yy",
onSelect: function()
        var seldate = $(this).datepicker('getDate');
        var day = seldate.getUTCDay();
        var weekday=new Array();
            weekday[0]="Maandag";
            weekday[1]="Dinsdag";
            weekday[2]="Woensdag";
            weekday[3]="Donderdag";
            weekday[4]="Vrijdag";
            weekday[5]="Zaterdag";
            weekday[6]="Zondag";
        var dayOfWeek = weekday[day];
        $('#DagWeek').val(dayOfWeek);
    
);

这工作得很好。但我想在他们选择任何内容之前将今天的日期 + 日期设置为默认值。 所以我为日期做了这个:

var myDate = new Date();
var month = myDate.getMonth() + 1;
var dag = myDate.getDate();
if(dag < 10) dag = "0" + dag;
if (month < 10) month = "0" + month;
var vandaag = dag + '-' + month + '-' + myDate.getFullYear();
$("#datepicker").val(vandaag);

它也可以,但我现在想将今天也设置为默认值。所以我尝试复制相同的代码 与onSelect 函数一样,但它不起作用。 问题是:你能告诉我如何在 onSelect 函数之外进行设置吗?因为我试过但没用。 以防万一,这是我尝试过的:

var day = vandaag.getUTCDay();
alert("test? " + day);
var weekday=new Array();
    weekday[0]="Maandag";
    weekday[1]="Dinsdag";
    weekday[2]="Woensdag";
    weekday[3]="Donderdag";
    weekday[4]="Vrijdag";
    weekday[5]="Zaterdag";
    weekday[6]="Zondag";
var dayOfWeek = weekday[day];
$('#DagWeek').val(dayOfWeek);

编辑:这是 html

<td colspan="13">    
    <input type="text" id="DagWeek" name="DagNewSchema" size="12" readonly>
    &nbsp;
    <input type="text" id="datepicker" name="NSchemaDatum" size="15" required>
</td>

结果,我第一次打开页面时得到的是: 这就是我从日期选择器中实际选择日期时得到的结果:

【问题讨论】:

你能显示 HTML 吗? @JohnDevelops 当然,我用 HTML + 屏幕截图更新了问题。 刚刚明白你的意思,对不起:) 没问题的人,谢谢你的尝试:) 【参考方案1】:

这样做:

function updateWeekDay($datepicker)
    var seldate = $datepicker.datepicker('getDate');
    var day = seldate.getUTCDay();
    var weekday=new Array();
        weekday[0]="Maandag";
        weekday[1]="Dinsdag";
        weekday[2]="Woensdag";
        weekday[3]="Donderdag";
        weekday[4]="Vrijdag";
        weekday[5]="Zaterdag";
        weekday[6]="Zondag";
    var dayOfWeek = weekday[day];
    $('#DagWeek').val(dayOfWeek);
;

$( "#datepicker" ).datepicker(
dateFormat: "dd-mm-yy",
onSelect: function()
        updateWeekDay($(this));
    
);

var myDate = new Date();
var month = myDate.getMonth() + 1;
var dag = myDate.getDate();
if(dag < 10) dag = "0" + dag;
if (month < 10) month = "0" + month;
var vandaag = dag + '-' + month + '-' + myDate.getFullYear();
$("#datepicker").val(vandaag);
updateWeekDay($("#datepicker"));

我可能有一些语法错误,因为我在没有测试的情况下输入了这个,但你明白了,将代码拉入一个函数并调用它。

【讨论】:

以上是关于Datepicker 将今天的日期设置为默认值的主要内容,如果未能解决你的问题,请参考以下文章

如何将今天设置为我的日期选择器默认值?

ReactJS + Material-UI:如何使用 Material-UI 的 <DatePicker> 将当前日期设置为默认值?

Jquery DatePicker 设置默认日期

抛出错误 RangeError:将自定义日期设置为 react-datepicker 的 DatePicker 时时间值无效

如何使用已选择的值设置 jQuery datepicker 的默认日期

当值设置为超过最大日期时,Kendo Datepicker 显示错误的格式