【发布时间】:2016-08-19 21:25:52
【问题描述】:
请注意,这与 datetimepicker.js 插件不同,后者具有相似的名称和 similar problem!
在自定义日期选择器行为时,我发现了一个错误?如果我设置了结束日期,我无法突出显示按回车按钮将选择今天的日期。
功能上没问题,但视觉上是错误的。按下回车键,改变焦点,然后回到控件由于某种原因确实有效,但在我的情况下这还不够好。
HTML:
<input id="bs_date" type="text" data-provide="datepicker" data-date-autoclose="true" />
Javascript:
var today = new Date();
$("[data-provide='datepicker']").datepicker("setEndDate",
new Date(today.getFullYear(),
today.getMonth(),
today.getDate())
);
$("[data-provide='datepicker']").on("show", function(e) {
var isFirstShow = $(this).data("isFirstShow");
console.log("is not first");
if(isFirstShow === undefined) {
console.log("is indeed first");
$(this).data("isFirstShow", "yes");
$(this).datepicker('setDate', new Date());
$(this).datepicker('update');
$(this).removeAttr('placeholder');
$(this).val("");
}
});
这段代码的重点是允许一个空白的初始输入字段,当用户第一次点击它时,它会自动选择(但不提交)今天的日期。
人们会认为这两行代码就可以完成这项工作。他们会这样做,除非您设置了 endDate,否则此时没有骰子:
$(this).datepicker('setDate', new Date());
$(this).datepicker('update');
它不应该是这样的:
它应该是这样的:
在工作中花费数小时试图解决此问题。非常感谢任何帮助。
【问题讨论】:
标签: jquery twitter-bootstrap datepicker