我正在使用带有Ajax的表单上的引导日期选择器来更新日期选择器上的日期限制。
我点击了ajax以获取总天数,并使用datepicker的setEndDate限制上限日期(以后的所有日期都将被禁用)。
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
success: function (data) {
if('total' in data && data['total'] > 1) {
// datepicker successfully set the limit to next 'total' days
$datepicker.datepicker('setEndDate', '+'+data['total']+'d');
// how to set the field value with that end date?
$datepicker.val($datepicker.datepicker('getEndDate'));
}
},
error: function (e) {
console.log(e);
}
});
我的问题是如何将$datepicker.datepicker('getEndDate')
格式化为yyyy-mm-dd
?
当前它返回Fri Jul 27 2018 08:00:00 GMT+0800 (Singapore Standard Time)
。
我已经查看了文档[1],但是在格式化getEndDate
时没有要分配的参数。
感谢任何帮助。 谢谢。
编辑:
对于任何对我有问题的人,
目前,我的解决方案是手动解析$datepicker.datepicker('getEndDate')
的返回。
我看到输出与Date .toString()
相等,所以我将输出作为JavaScript Date构造函数传递,然后手动对其进行格式化。
var d = new Date($datepicker.datepicker('getEndDate'));
if(d instanceof Date && !isNaN(d)) {
var day = '' + d.getDate(),
month = '' + (d.getMonth() + 1),
year = d.getFullYear();
if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
// console.log([year, month, day].join('-'));
$datepicker.datepicker('update', [year, month, day].join('-'));
}
[1] http://bootstrap-datepicker.readthedocs.io/en/latest/methods.html
答案 0 :(得分:1)
您可以使用public function handle(DocumentSend $event)
{
if (!$event->sendSms) {
return;
}
// here your code for sending
}
,但是它提供了所选日期的格式。
因此,您需要使用$("#date").data("datepicker").getFormattedDate()
中的getEndDate()
获取结束日期,并使用datepicker
对象来解析日期。
DPGlobal
$("#date").datepicker({
format:"dd/mm/yyyy",
endDate:"26/07/2018"
});
function getDate()
{
var date = $.fn.datepicker.DPGlobal.formatDate($("#date").data("datepicker").getEndDate(),"dd-mm-yyyy","en")
console.log(date)
}