积极答复者
bootstrap datetimepicker 重新初始化之后,日期为什么会变为1899年

问题
-
我的代码是这个样子的:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="DateTimePickQuestion1.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <!-- 新 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css"> <!-- 可选的Bootstrap主题文件(一般不用引入) --> <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap-theme.min.css"> <!-- jQuery文件。务必在bootstrap.min.js 之前引入 --> <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script> <!-- 最新的 Bootstrap 核心 JavaScript 文件 --> <script src="http://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> <!-- import datetimepicker js and css --> <script src="js/bootstrap-datetimepicker.js" type="text/javascript"></script> <script src="js/locales/bootstrap-datetimepicker.zh-CN.js" type="text/javascript"></script> <link href="css/bootstrap-datetimepicker.css" rel="stylesheet" type="text/css" /> <!-- my script --> <script type="text/javascript"> $(function () { $("#mySelect").change(function () { $(".form_datetime").datetimepicker('remove'); var type = $("#mySelect").val(); switch (type) { case "month": $('.form_datetime').datetimepicker({ autoclose: true, startView: 'year', minView: 'year', format: 'yyyy-mm' }); break; case "year": $('.form_datetime').datetimepicker({ autoclose: true, startView: 'decade', minView: 'decade', format: 'yyyy' }); break; } //end switch })//end change })//end ready </script> </head> <body> <div> <select id='mySelect'> <option value='year'>year</option> <option value='month'>month</option> </select> <div class="input-group date form_datetime col-md-2" > <input class="form-control" type="text" /> <span class="input-group-addon"> <span class="glyphicon glyphicon-th"></span> </span> </div> </div> </body> </html>
我的下拉选择框是用来控制日期控件的初始化样子,
选择month的话,日期控件可以选择年和月
选择year的话,日期控件只能选择年。
但是每当下拉框触发了change函数之后,日期控件的年份都会变成1899年,
并不是原来的2014年
如图:
怎么可以让 select标签触发了change之后日期控件重新生成之后,还是显示今年2014年,
求解,我是不是有什么地方写错了
答案
-
参考 http://stackoverflow.com/questions/11507508/bootstrap-datepicker-set-date-using-jquery
在每次进入变函数时,先将年份撷取出来
var year = $('.form_datetime').datetimepicker('getDate').getFullYear();
当日期时间选择重新定义后,再将年份设定回去(01为固定月份)
$(".form_datetime").datetimepicker("update", year + '-01');
- 已标记为答案 星空雏菊 2014年11月26日 1:29
全部回复
-
你要給今天的日子去 Value ,參考一下下列連結
http://stackoverflow.com/questions/15423467/bootstrap-datepicker-today-as-default
http://www.malot.fr/bootstrap-datetimepicker/demo.php
大家一齊探討、學習和研究,謝謝!
MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
MCT, Microsoft Community Star(TW & HK),
Microsoft MVP for VB.NET since 2003
My MSMVP Blog
請記得將對您有幫助的回覆標示為解答以幫助其他尋找解答及參與社群討論的朋友們。
Please remember to clickMark as Answer on the post that helps you. This can be beneficial to other community members reading the thread. -
参考 http://stackoverflow.com/questions/11507508/bootstrap-datepicker-set-date-using-jquery
在每次进入变函数时,先将年份撷取出来
var year = $('.form_datetime').datetimepicker('getDate').getFullYear();
当日期时间选择重新定义后,再将年份设定回去(01为固定月份)
$(".form_datetime").datetimepicker("update", year + '-01');
- 已标记为答案 星空雏菊 2014年11月26日 1:29