我在这里使用bootstrap-datepicker:https://github.com/eternicode/bootstrap-datepicker
版本:2.3.2
单击按钮时,我无法清除日期选择器的日期值。我检查了API,但在清除/重置datepicker时无法找到任何内容。欢迎任何帮助
答案 0 :(得分:31)
我遇到了类似的麻烦,以下内容对我有用:
$('#datepicker').val('').datepicker('update');
需要两种方法调用,否则不清楚。
答案 1 :(得分:26)
您可以使用jQuery清除日期输入的值。
例如,按钮和文本输入如下:
<input type="text" id="datepicker">
<button id="reset-date">Reset</button>
您可以使用jQuery的.val()函数。
$("#reset-date").click(function(){
$('#datepicker').val("").datepicker("update");
})
答案 2 :(得分:18)
当前版本1.4.0有clearBtn
option:
$('.datepicker').datepicker({
clearBtn: true
});
除了向界面添加按钮外,它还允许手动删除输入框中的值。
答案 3 :(得分:6)
我在尝试清除已经设置的日期时遇到了这个帖子。尝试:
$('#datepicker').val('').datepicker('update');
制备:
TypeError: t.dpDiv is undefined
https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js -- Line 8
认为可能需要包含original Datepicker for bootstrap的人删除错误,但随后会出现原始的Datepicker小部件! - 这显然是错误的,不需要。
进一步观察,jqueryui的崩溃在:
/* Generate the date picker content. */
_updateDatepicker: function(inst) {
this.maxRows = 4; //Reset the max number of rows being displayed (see #7043)
datepicker_instActive = inst; // for delegate hover events
inst.dpDiv.empty().append(this._generateHTML(inst));
this._attachHandlers(inst);
和inst.pdDiv不存在。
进一步调查 - 我意识到需要的是:
$formControl = $duedate.find("input");
$formControl.val('');
$formControl.removeData();
这解决了我的问题。注意我还需要$ formControl.removeData(),否则小部件的状态不会重新初始化为初始状态。
我希望这有助于其他人。 : - )
答案 4 :(得分:4)
实际上使用库中附带的方法更有用$(".datepicker").datepicker("clearDates");
我建议你总是看一下图书馆的文档,这是我用过的文档。
答案 5 :(得分:3)
您可以使用此语法重置引导日期选择器
$('#email').keyup(function() {
var INPUT = $(this).val();
var email = new RegExp('^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$');
if (email.test(INPUT)) {
console.log('inside the if');
}
console.log('Outside the if');
});
参考http://bootstrap-datepicker.readthedocs.org/en/latest/methods.html#update
答案 6 :(得分:1)
我知道回答为时已晚,但在我的情况下,代码无效。
$('#datepicker').val("");
$('#datepicker').val('').datepicker('update');
$('#datepicker').datepicker('update','');
这是我的解决方案。
$('#datepicker').val('').datepicker('remove').datepicker();
我首先清除了datepicker值,然后删除了datepicker并再次重新初始化了datepicker。它解决了我的问题。
答案 7 :(得分:0)
我试图找出IE7 / IE8中没有清除日期的原因时遇到了这个帖子 它与IE8和更旧版本需要Array.prototype.splice()方法的第二个参数这一事实有关。 这是bootstrap.datepicker.js中的原始代码:
clear: function(){
this.splice(0);
},
添加第二个参数解决了我的问题:
clear: function(){
this.splice(0,this.length);
},
答案 8 :(得分:0)
您必须采用这种方式:
$('#datepicker').datepicker('clearDates');
答案 9 :(得分:0)
我找到了最好的扳手,它对我有用。 清除bootstrap-datepicker的值:
$('#datepicker').datepicker('setDate', null);
为boostrap-datepicker添加值:
$('#datepicker').datepicker('setDate', datePicker);