2015-09-08 127 views
2

讓我們這個小例子:引導的DateTimePicker:不能選擇「明天」作爲日期

<div class="row"> 
<div class="col-md-12"> 
    <h6>datetimepicker1</h6> 

    <div class="form-group"> 
     <div class="input-group date" id="datetimepicker"> 
      <input type="text" class="form-control" /> <span class="input-group-addon"><span class="glyphicon-calendar glyphicon"></span></span> 
     </div> 
    </div> 
</div> 
</div> 

而且JS代碼:

var m = moment(new Date()); 

$('#datetimepicker').datetimepicker({ 
    minDate: m.add(1, 'days'), 
    ignoreReadonly: true, 
    format: 'DD/MM/YYYY', 
    allowInputToggle: true, 
    defaultDate: false, 
    useCurrent: false 
}); 

我們正在使用moment.js得到今天的日期,然後設置datetimepicker,以便您只能從明天開始選擇日期。

的的jsfiddle是在這裏:http://jsfiddle.net/0Ltv25o8/1794/

我們遇到的問題是,儘管上面的設置,用戶不能選擇明天的日期。它不灰色,但你嘗試選擇它並沒有任何反應。這是爲什麼?

回答

1

的問題是日期的時間部分。您的分鐘日期實際上設置爲明天和次日之間的時間點。

簡單地刪除時間部分應該可以解決您的問題(使用moment.js的startOf)。

var m = moment(new Date()); 

$('#datetimepicker').datetimepicker({ 
    minDate: m.add(1, 'days').startOf('day'), 
    ignoreReadonly: true, 
    format: 'DD/MM/YYYY', 
    allowInputToggle: true, 
    defaultDate: false, 
    useCurrent: false 
}); 
3

只需更換m.add(1, 'days')moment()如下

$('#datetimepicker').datetimepicker({ 
    minDate: moment(), 
    ignoreReadonly: true, 
    format: 'DD/MM/YYYY', 
    allowInputToggle: true, 
    defaultDate: false, 
    useCurrent: false 
}); 

Demo

更新:今天是灰色的。

$('#datetimepicker').datetimepicker({ 
    minDate: moment(new Date()).add(1, 'days').startOf('day'), 
    ignoreReadonly: true, 
    format: 'DD/MM/YYYY', 
    allowInputToggle: true, 
    defaultDate: false, 
    useCurrent: false 
}); 

Demo

+1

但是這樣,今天在日曆中不會變灰,這可能會讓用戶感到困惑。 – PaulJ

相關問題