Bootstrap 3 DatePicker - 如何在不重置选择器配置的情况下重置所选日期?
Bootstrap 3 DatePicker - How to reset selected date without resetting the picker configuration?
我正在尝试在单击按钮时重置 selected 日期,但到目前为止我只能清除 input
元素,而没有选择器上的实际日期。以下代码重置了所有内容,包括配置和日期,所以这显然不是我需要的。
$('#datepicker').datepicker('update',''); //resets everything
详细说明:用户只能 select 从当天算起 7 天的日期。还有一个按钮使用户能够从选择器中清除 selected 日期,并 select 一个新的。现在,清除功能只能从选择器中清除输入元素(但不能清除选择器元素中的实际日期),或者清除 selection 与选择器配置(例如 startDate: "+7d "。我只想清除 selected 日期,而不重置所有内容。
这是我到目前为止想出的:
HTML:
<div id="myDatepicker" class="input-group date">
<input type="text" class="form-control" id="datepick">
<span class="input-group-addon">
<i class="fa fa-calendar"></i>
</span>
<a href="#" id="duration_tag"></a>
</div>
<button type="button" id="clear">clear</button>
jQuery:
$(document).ready(function() {
$("#clear").click(function(){
$('#datepick').val(" ").datepicker({startDate: "+7d"});
});
$('#myDatepicker').datepicker({
startDate: "+7d",
});
$('#myDatepicker').on('changeDate', function(e){
$(this).datepicker('hide');
});
});
您需要获取当前 datePicker
实例并对其调用 setDate(null)
。你可以这样做:
$("#clear").click(function(){
$('#myDatepicker').data('datepicker').setDate(null);
});
已更新 fiddle:http://jsfiddle.net/4L6fhjLf/2/
$('#myDatepicker').data('DateTimePicker').date(null);
出于某种原因,上面的例子都不适合我,但下面的例子:
$('#myDatepicker').data('DateTimePicker').clear(); // clears input value
这实际上与 答案相同,但对我正在寻找的内容不起作用。
我还需要更改 viewMode
以重新开始选择器过程,在我的情况下,这是几十年的时间,您可能需要一个不同的 viewMode 选项:
$('#myDatepicker').data('DateTimePicker').clear().viewMode('decades')
我正在尝试在单击按钮时重置 selected 日期,但到目前为止我只能清除 input
元素,而没有选择器上的实际日期。以下代码重置了所有内容,包括配置和日期,所以这显然不是我需要的。
$('#datepicker').datepicker('update',''); //resets everything
详细说明:用户只能 select 从当天算起 7 天的日期。还有一个按钮使用户能够从选择器中清除 selected 日期,并 select 一个新的。现在,清除功能只能从选择器中清除输入元素(但不能清除选择器元素中的实际日期),或者清除 selection 与选择器配置(例如 startDate: "+7d "。我只想清除 selected 日期,而不重置所有内容。
这是我到目前为止想出的:
HTML:
<div id="myDatepicker" class="input-group date">
<input type="text" class="form-control" id="datepick">
<span class="input-group-addon">
<i class="fa fa-calendar"></i>
</span>
<a href="#" id="duration_tag"></a>
</div>
<button type="button" id="clear">clear</button>
jQuery:
$(document).ready(function() {
$("#clear").click(function(){
$('#datepick').val(" ").datepicker({startDate: "+7d"});
});
$('#myDatepicker').datepicker({
startDate: "+7d",
});
$('#myDatepicker').on('changeDate', function(e){
$(this).datepicker('hide');
});
});
您需要获取当前 datePicker
实例并对其调用 setDate(null)
。你可以这样做:
$("#clear").click(function(){
$('#myDatepicker').data('datepicker').setDate(null);
});
已更新 fiddle:http://jsfiddle.net/4L6fhjLf/2/
$('#myDatepicker').data('DateTimePicker').date(null);
出于某种原因,上面的例子都不适合我,但下面的例子:
$('#myDatepicker').data('DateTimePicker').clear(); // clears input value
这实际上与
我还需要更改 viewMode
以重新开始选择器过程,在我的情况下,这是几十年的时间,您可能需要一个不同的 viewMode 选项:
$('#myDatepicker').data('DateTimePicker').clear().viewMode('decades')