Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用today';预先填充jQuery Datepicker文本框;谁的日期?_Javascript_Jquery_Jquery Ui_Date_Jquery Ui Datepicker - Fatal编程技术网

Javascript 如何使用today';预先填充jQuery Datepicker文本框;谁的日期?

Javascript 如何使用today';预先填充jQuery Datepicker文本框;谁的日期?,javascript,jquery,jquery-ui,date,jquery-ui-datepicker,Javascript,Jquery,Jquery Ui,Date,Jquery Ui Datepicker,我有一个非常简单的jQuery Datepicker日历: $(document).ready(function(){ $("#date_pretty").datepicker({ }); }); 当然,在HTML中 <input type="text" size="10" value="" id="date_pretty"/> 当用户打开日历时,今天的日期会很好地突出显示,但是我如何让jQuery在页面加载时用今天的日期预先填充文本框本身,而不让用户做任何

我有一个非常简单的jQuery Datepicker日历:

$(document).ready(function(){
    $("#date_pretty").datepicker({ 
    });
});
当然,在HTML中

<input type="text" size="10" value="" id="date_pretty"/>

当用户打开日历时,今天的日期会很好地突出显示,但是我如何让jQuery在页面加载时用今天的日期预先填充文本框本身,而不让用户做任何事情呢?99%的情况下,今天的默认日期将是他们想要的

var myDate = new Date();
var prettyDate =(myDate.getMonth()+1) + '/' + myDate.getDate() + '/' +
        myDate.getFullYear();
$("#date_pretty").val(prettyDate);
似乎有效,但可能有更好的解决方法。

解决方案是:

$(document).ready(function(){
    $("#date_pretty").datepicker({ 
    });
    var myDate = new Date();
    var month = myDate.getMonth() + 1;
    var prettyDate = month + '/' + myDate.getDate() + '/' + myDate.getFullYear();
    $("#date_pretty").val(prettyDate);
});
谢谢你

$(function()
{
$('.date-pick').datePicker().val(new Date().asString()).trigger('change');
});

来源:

更新:有报道称这在Chrome中不再有效。

这是简洁的,并且可以完成工作(过时):

这不太简洁,因为它可以在chrome中工作(2019-06-04):


此代码将确保使用日期选择器的格式:

$('#date-selector').datepicker('setDate', new Date());
无需重新应用格式,它使用您在datepicker初始化时预定义的datepicker(如果您已分配!);)


将prettyDate分配给必要的控件。

必须首先调用datepicker()>然后使用“setDate”获取当前日期

$('input[name*="date"]').datepicker({
        dateFormat: 'dd-mm-yy',
        changeMonth: true,
        changeYear: true,
        beforeShow: function(input, instance) { 
            $(input).datepicker('setDate', new Date());
        }
    });
$(".date-pick").datepicker();
$(".date-pick").datepicker("setDate", new Date());
或者在datepicker初始化之后链接setDate方法调用,如本答案的注释所述

$('.date-pick').datepicker({ /* optional option parameters... */ })
               .datepicker("setDate", new Date());
它将只与

$(".date-pick").datepicker("setDate", new Date());
注意:可接受的设置日期参数说明

今天设置为

$('#date_pretty').datepicker('setDate', '+0');
$('#date_pretty').datepicker('setDate', '-1');
$('input.datepicker').datepicker(
                        {   
                            changeMonth: false,
                            changeYear: false,
                            beforeShow: function(input, instance) { 
                                $(input).datepicker('setDate', new Date());
                            }
                        }                         
                     );
div.ui-datepicker table.ui-datepicker-calendar .ui-state-active,
        div.ui-datepicker table.ui-datepicker-calendar .ui-widget-content .ui-state-active  {
            background: #1ABC9C;
            border-radius: 50%;
            color: #fff;
            cursor: pointer;
            display: inline-block;
            width: 24px; height: 24px;
        }​
昨天设置为

$('#date_pretty').datepicker('setDate', '+0');
$('#date_pretty').datepicker('setDate', '-1');
$('input.datepicker').datepicker(
                        {   
                            changeMonth: false,
                            changeYear: false,
                            beforeShow: function(input, instance) { 
                                $(input).datepicker('setDate', new Date());
                            }
                        }                         
                     );
div.ui-datepicker table.ui-datepicker-calendar .ui-state-active,
        div.ui-datepicker table.ui-datepicker-calendar .ui-widget-content .ui-state-active  {
            background: #1ABC9C;
            border-radius: 50%;
            color: #fff;
            cursor: pointer;
            display: inline-block;
            width: 24px; height: 24px;
        }​
依此类推,在今天日期之前或之后的任何天数


请参阅。

要在加载时将日期选择器设置为某个默认时间(在我的示例中为当前日期),然后选择另一个日期,语法为:

    $(function() { 
        // initialize the datapicker
        $("#date").datepicker();

        // set the time
        var currentDate = new Date();
        $("#date").datepicker("setDate",currentDate);

    //  set the options for the button  
        $("#date").datepicker("option",{
            dateFormat: 'dd/mm',
            showOn: "button",
          // whatever option Or event you want 
        });
  });
该方法设置日期并更新关联控件。以下是如何:

$("#datepicker1").datepicker({
    dateFormat: "yy-mm-dd"
}).datepicker("setDate", "0");

如文档中所述,
setDate()
愉快地接受JavaScript日期对象、数字或字符串:

新日期可以是日期对象,也可以是当前日期中的字符串 格式(例如“01/26/2009”)、从今天起的天数(例如+7)或 值和期间的字符串('y'表示年份,'m'表示月份,'w'表示月份 周,“d”表示天,例如“+1m+7d”),或null以清除所选 日期


如果您想知道,在构造函数中设置属性不会更新关联的控件。

David K Egghead的代码工作得很好,谢谢

$(".date-pick").datepicker(); 
$(".date-pick").datepicker("setDate", new Date()); 
我也设法把它修剪了一点,它也起了作用:

$(".date-pick").datepicker().datepicker("setDate", new Date()); 

这个对我有用

$('#inputName')
  .datepicker()
  .datepicker('setDate', new Date());

我只是想加上我的两分钱。选择器用于添加/更新表单,因此如果编辑现有记录,则需要显示来自数据库的日期,否则需要显示今天的日期。以下内容对我来说很好:

    $( "#datepicker" ).datepicker();
    <?php if (!empty($oneEVENT['start_ts'])): ?>
       $( "#datepicker" ).datepicker( "setDate", "<?php echo $startDATE; ?>" );
    <? else: ?>
       $("#datepicker").datepicker('setDate', new Date());   
    <?php endif; ?>
  });
$(“#日期选择器”).datepicker();
$(“#日期选择器”).datepicker(“setDate”,即“);
$(“#datepicker”).datepicker('setDate',new Date());
});
试试这个

$(this).datepicker("destroy").datepicker({
            changeMonth: false, changeYear: false,defaultDate:new Date(), dateFormat: "dd-mm-yy",  showOn: "focus", yearRange: "-5:+10"
        }).focus();

要预填充日期,首先必须初始化datepicker,然后传递setDate参数值

$("#date_pretty").datepicker().datepicker("setDate", new Date());
您有两种选择:

选项A)仅当您单击输入时,才在日历中标记为“活动”

Js

$('#date_pretty').datepicker('setDate', '+0');
$('#date_pretty').datepicker('setDate', '-1');
$('input.datepicker').datepicker(
                        {   
                            changeMonth: false,
                            changeYear: false,
                            beforeShow: function(input, instance) { 
                                $(input).datepicker('setDate', new Date());
                            }
                        }                         
                     );
div.ui-datepicker table.ui-datepicker-calendar .ui-state-active,
        div.ui-datepicker table.ui-datepicker-calendar .ui-widget-content .ui-state-active  {
            background: #1ABC9C;
            border-radius: 50%;
            color: #fff;
            cursor: pointer;
            display: inline-block;
            width: 24px; height: 24px;
        }​
Css

$('#date_pretty').datepicker('setDate', '+0');
$('#date_pretty').datepicker('setDate', '-1');
$('input.datepicker').datepicker(
                        {   
                            changeMonth: false,
                            changeYear: false,
                            beforeShow: function(input, instance) { 
                                $(input).datepicker('setDate', new Date());
                            }
                        }                         
                     );
div.ui-datepicker table.ui-datepicker-calendar .ui-state-active,
        div.ui-datepicker table.ui-datepicker-calendar .ui-widget-content .ui-state-active  {
            background: #1ABC9C;
            border-radius: 50%;
            color: #fff;
            cursor: pointer;
            display: inline-block;
            width: 24px; height: 24px;
        }​
选项B)今天默认输入。 您必须首先填充日期选择器

$("input.datepicker").datepicker().datepicker("setDate", new Date());
$(“input.datepicker”).datepicker().datepicker(“setDate”,new Date()) 这对我来说效果更好,因为有时调用
.datepicker('setDate',new Date())时会遇到问题因为如果我已经用参数配置了日期选择器,它会很混乱

$("#myDateText").val(moment(new Date()).format('DD/MM/YYYY'));
使用以下命令:

$(“.datepicker”).datepicker({dateFormat:'dd-M-yy'}).datepicker('setDate',new Date())


以更容易理解的格式获取日期,例如:2019年10月10日。

这非常有效,除了两件事:1)我有点希望使用jQuery方法获取当前日期,但可能没关系。2) 此解决方案生成的值正好是今天日期前一个月的值!哦,你说得对!查看它--月份是0-11-您必须添加1。。奇怪的是,getDate是1-31,但是getMonth是0-11。有一种更简单的方法。。请参阅下面的文章。此解决方案让我们直接显示文本并同时设置日期,而CiscoiPhone的解决方案需要另一个步骤来显示值,而无需打开选择器。对于
setDate
,您也可以使用datepicker的常用相对表示法,例如,只需键入
。datepicker('setDate','+1d')即可获得次日
。我的浏览器无法识别asString()函数。我是这样做的:$(“.date pick”).datepicker('setDate',new date());我认为asString()应该是toString()。Kevin Luck的日期选取器和Jquery UI日期选取器是两个非常不同的日期选取器。@gamerzfuse Jquery UI的日期选取器基于Kevin Luck的日期选取器。为什么在您的演示中它会起作用。当我将此代码复制到我的站点时,当pg加载时,对话框不断弹出。这对我有效-接受的答案和上面的其他选项无效。这是一个比上面任何一个都好得多的解决方案。虽然我需要日期格式为“mm-dd-yy”,但目前这个问题的最佳答案是“mm-dd-yy”与日期选择器匹配。最流行的答案比公认的答案更好。最好改变被接受的答案。我的相关问题@Ahmadalishafie(和其他人)。当前接受的解决方案于2015年5月7日被接受。使用jQueryUI 1.8,我发现此解决方案是实现此目标的唯一(合理)方法。$(“.selector”).datepicker().datepicker(“setDate”,new Date());将起作用,并且不会使jQuery搜索DOM两次。很好,接受的答案是只有$(“.date pick”)。datepicker(“setDate”,new date());如果没有第一次调用$(“.date pick”).datepicker(),它就无法工作;您的答案要好得多。正如其他人所提到的,您一定已经调用过datepicker(),
$(“.date pic