javascript - defaultViewDate 不适用于 Bootstrap 日期选择器

标签 javascript jquery twitter-bootstrap datepicker

好的,我已经看到了Bootstrap Datepicker : Changing start date to tomorrow我以为这会让我做对,但事实并非如此。

$("#datepickerStart, #datepickerEnd").datepicker({
  todayHighlight: true,
  endDate: '+367d'
})

var fullDate = new Date();
  console.log(fullDate);
var twoDigitMonth = fullDate.getMonth() + "";
if (twoDigitMonth.length == 1)
  twoDigitMonth = "0" + twoDigitMonth;
var twoDigitDate = fullDate.getDate() + "";
if (twoDigitDate.length == 1)
  twoDigitDate = "0" + twoDigitDate;
var $currentDate = twoDigitMonth + "/" + twoDigitDate + "/" + fullDate.getFullYear();
var $endYear = fullDate.getFullYear() + 1;
  console.log($currentDate);
  console.log($endYear);
var $endDate = twoDigitMonth + "/" + twoDigitDate + "/" + $endYear;
  console.log($currentDate);
  console.log($endDate);

$("#datepickerStart").find("input").attr("value", $currentDate);

$("#datepickerEnd").find("input").attr("value", $endDate);

$("#datepickerEnd").datepicker({
  defaultViewDate: {
    year: $endYear,
    month: twoDigitMonth,
    day: twoDigitDate
  },
  format: 'mm/dd/yyyy',
})
@import url('https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.css');
@import url('https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/css/bootstrap-datepicker3.css');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/js/bootstrap-datepicker.js"></script>
<div class="form-group col-sm-3 colFlushL hideme" id="endDateWrapper">
  <label class="control-label" for="datepickerEnd">End <small><span class="text-muted">(max 1 year)</span></small>
  </label>

  <div class="input-group date colFlush" data-provide="datepicker" id="datepickerEnd">
    <input type="text" class="form-control" name="datepickerEnd" value="">
    <span class="input-group-addon"><i
            class="glyphicon glyphicon-th"></i></span>
  </div>
</div>

不漂亮,但它可以工作 - 除了最终选择器的默认 View (该值工作正常)(即输入字段中的值很好并且 367 天限制工作。

我想知道是否是因为 iddata-provide 附加到 input-group 而不是 input 但你必须这样做才能使图标作为日期选择器的一部分工作,并且从用户体验的 Angular 来看,不让图标工作是愚蠢的。

有什么想法吗?

PS我们正在谈论http://bootstrap-datepicker.readthedocs.org/en/latest/options.html#id3

enter image description here

最佳答案

似乎来自您对输入的黑客攻击,是的...

这项工作and the icon too :

$("#datepickerStart, #datepickerEnd").datepicker({
  todayHighlight: true,
  endDate: '+367d'
})

var fullDate = new Date();
  console.log(fullDate);
var twoDigitMonth = fullDate.getMonth() + "";
if (twoDigitMonth.length == 1)
  twoDigitMonth = "0" + twoDigitMonth;
var twoDigitDate = fullDate.getDate() + "";
if (twoDigitDate.length == 1)
  twoDigitDate = "0" + twoDigitDate;
var currentDate = twoDigitMonth + "/" + twoDigitDate + "/" + fullDate.getFullYear();
var endYear = fullDate.getFullYear() + 1;
  console.log(endYear+' '+twoDigitMonth+' '+twoDigitDate);
var endDate = twoDigitMonth + "/" + twoDigitDate + "/" + endYear;

$("#datepickerEnd").attr("value", endDate);

$("#datepickerEnd").datepicker({
  defaultViewDate: {
    year: endYear,
    month: twoDigitMonth,
    day: twoDigitDate
  },
  format: 'mm/dd/yyyy',
})
@import url('https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.css');
@import url('https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/css/bootstrap-datepicker3.css');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/js/bootstrap-datepicker.js"></script>

<div class="form-group col-xs-5 colFlushL hideme" id="endDateWrapper">
  <label class="control-label" for="datepickerEnd">End <small><span class="text-muted">(max 1 year)</span></small>
  </label>

  <div class="input-group date colFlush" data-provide="datepicker">
    <input  id="datepickerEnd" type="text" class="form-control" name="datepickerEnd" value="">
    <div class="input-group-addon"><span class="glyphicon glyphicon-th"></span></div>
  </div>
  
</div>

关于javascript - defaultViewDate 不适用于 Bootstrap 日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34123033/

相关文章:

html - CSS:具有固定侧边栏导航的 3 列布局

javascript - Jquery UI 可排序多选

javascript onclick 事件在带有 SQL 驱动数据的 Chrome 中不起作用

php - 是否可以编写一个正则表达式来检查字符串(javascript 和 php 代码)是否被缩小?

javascript - 为选中的每个复选框添加和删除隐藏输入

javascript - Bootstrap 崩溃

javascript - 将变量从 Objective-C 传递到 javascript 函数?

javascript - 如何从 anchor 标记 onclick 函数调用 jQuery(this)

javascript - 如何使用 PHP 通过 AJAX 上传文件?

html - 使用 Bootstrap 的表上的空列