Javascript 如何使用today';预先填充jQuery Datepicker文本框;谁的日期?
我有一个非常简单的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在页面加载时用今天的日期预先填充文本框本身,而不让用户做任何
$(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