我使用bootstrap-datepicker.js(版本1.6.1)显示一个dd / mm / yyyy格式的简单日期选择器。
它初始化如下:
$e.datepicker({
format: "dd/mm/yyyy"
, endDate: ed // end date
, autoclose: true
, startDate: sd // start date
, language: lang
});
如果用户浏览日历并点击所需的日期,则datepicker工作正常并且日期正确设置为可配置格式。
但问题来自于他在输入上手动输入日期。
如果用户手动输入DD / MM / YY ,那么该值正被datepicker接受,并且不会自动转换为DD / MM / YYYY 。
有谁知道这是对datepicker库的限制还是我在这里错过了一些配置?。
答案 0 :(得分:0)
我认为你可以使用
onkeydown="return false"
避免手动输入。如果没有,您必须编写JS来格式化日期。 Datepicker自动从手动输入转换。
$('#txtDob').datepicker({
format: 'dd/mm/yyyy',
autoclose: true
});

<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker3.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/locales/bootstrap-datepicker.de.min.js"></script>
<form action="#" method="post">
<label for="txtDob"></label>
<input onkeydown="return false" type="text" id="txtDob" />
</form>
&#13;