我没有让jQuery移动日期选择器显示日期。这是相关的 jsp 代码:
<link rel="stylesheet"
href=<c:url value='/resources/css/jquery.mobile-1.4.5.min.css' /> />
<link rel="stylesheet"
href=<c:url value='/resources/css/jquery.mobile.datepicker.css' /> />
<link rel="stylesheet" href=<c:url value='/resources/css/custom.css' /> />
<script src=<c:url value='/resources/js/jquery-1.11.1.min.js' />></script>
<script src=<c:url value='/resources/js/moment-with-locales.min.js' />></script>
<script src=<c:url value='/resources/js/jquery.mobile-1.4.5.min.js' />></script>
<script src=<c:url value='/resources/js/jquery.mobile.datepicker.js' />></script>
...
<input class="datepicker" type="date" data-role="datebox" />
...
这是设置日期的javascript代码:
var datepicker = $("#templates .datepicker").clone();
datepicker.attr("id", "birthday");
datepicker.attr("name", "birthday");
...
viewElement.append(datepicker)
...
我尝试了很多选择,但没有显示日期:
$("#birthday").text("10.10.10");
$("#birthday").val("10.10.10");
$("#birthday").val("10/10/10");
如何使用DateBox插件在jQuery移动版中设置日期框的默认日期中建议的解决方案不起作用:
$("#personEdit").on("pageshow", function() {
$('#birthday').trigger('datebox', {
'method': 'set',
'value': currentPerson.birthdayAsDate()
}).trigger('datebox', {
'method': 'doset'
});
});
这些抛出了一个异常:
var dynamicDate = new Date(2014,3,22,10,11,0,0);
$("#birthday").datebox('setTheDate', dynamicDate);
例外是"未捕获的类型错误:$(...)。日期框不是一个函数",甚至盒子本身也被渲染了。
如何为 jquery 移动日期选择器小部件设置日期值?
我终于明白了。在包含 pageshow 事件以初始化日期值后,日志显示所需的日期格式。
所以这就可以了:
$("#personEdit").on("pageshow", function() {
$("#birthday").val("2017-01-01");
});