【发布时间】:2016-11-21 10:01:55
【问题描述】:
我正在使用 Bootstrap Datapicker 脚本 (Link here) 并且在设置开始日期时遇到问题。
选项:开始日期
日期或字符串。默认值:开始时间
可以选择的最早日期;所有较早的日期都将被禁用。
日期应为当地时区。字符串必须可以用
format解析。
JavaScript:
function initializeDatePicker() {
if ($.isFunction($.fn.datepicker)) {
var datepickerLang = lang;
if (datepickerLang === "nl") {
datepickerLang = "nl-BE";
}
$(".input-group.date input").datepicker({
autoclose: true,
todayBtn: "linked",
clearBtn: true,
todayHighlight: true,
language: datepickerLang,
format: "dd-mm-yyyy",
startDate: $(this).data("startdate")
});
}
}
HTML:
<div class="input-group date small">
<input id="StartDate" class="form-control" name="StartDate" value="" data-is-required="True" data-startdate="01-12-2016" type="text">
<div class="input-group-addon">
<span class="fa fa-calendar"></span>
</div>
</div>
什么有效?
如果我将startdate 硬编码为:
startDate: new Date() => today
startDate: "01-12-2016"
什么不起作用?
如果我尝试从我的数据属性中获取日期,则没有任何效果。
startDate: new Date($(this).data("startdate")) => returns 'Date Invalid'
startDate: $(this).data("startdate")
我不明白出了什么问题以及如何解决它。
【问题讨论】:
-
@GeorgeLee 不起作用。如果我将日期硬编码为“01/12/2016”
-
因此,如果您记录“this”的值,则结果是文档,因此您必须将其替换为
$("#StartDate").data("startdate") -
请注意,日期选择器也支持数据属性初始化,因此在您的情况下,您可以使用
data-date-start-date而不是data-startdate
标签: javascript twitter-bootstrap datepicker bootstrap-datepicker