2015-12-06 54 views
1

好,所以我已经看到Bootstrap Datepicker : Changing start date to tomorrow,我认为会让我的权利,但它没有。defaultViewDate不工作引导日期选择器

$("#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>

不漂亮,但它的工作原理 - 除了为最终选择器默认视图(值正常工作)(即在输入字段中的值是罚款和367天的限制工作。

不知是否是因为iddata-provide连接到input-groupinput,但你必须这样做,以使该图标工作作为日期选择器的一部分,并没有图标的工作是从UX点愚蠢

有什么想法?

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

enter image description here

回答

0

似乎来自你输入的是黑客...

这项工作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>

+0

感谢gazillion。黑客是我试图遵循Bootstrap 3. BS 2使用了''标签,但BS 3希望我们使用''作为插件(参见http://getbootstrap.com/components/#input-groups-basic),并且这个会导致很多问题。现在我将放弃文档,因为这会继续出现,''标签似乎正常工作。谢谢 – BeNice

+0

@OldMauiMan编辑:看一看,它也适用于'span' XD – Blag

+0

真的 - 我太累了,无法照顾。我会通过我的代码整理日期选择器(我有10个编程器)。再次感谢,但当我能指责Bootstrap时,我感到更开心:-)生活呃! (ps每次我在@Blag开始的时候吃它 - 对不起) – BeNice