清除bootstrap-datepicker的值

use*_*420 32 javascript datepicker twitter-bootstrap

我从这里使用bootstrap-datepicker:https://github.com/eternicode/bootstrap-datepicker

版本:2.3.2

单击按钮时,我无法清除日期选择器的日期值.我检查了API,但在清除/重置datepicker时无法找到任何内容.欢迎任何帮助

小智 33

我遇到了类似的麻烦,以下内容对我有用:

$('#datepicker').val('').datepicker('update');
Run Code Online (Sandbox Code Playgroud)

需要两种方法调用,否则不清楚.

  • 这是比公认的更好的解决方案:) (6认同)
  • 这对我有用.请注意,"更新"会触发另一个"changeDate"事件. (2认同)

Nee*_*ule 28

您可以使用jQuery清除日期输入的值.

例如,按钮和文本输入如下:

<input type="text" id="datepicker">
<button id="reset-date">Reset</button>
Run Code Online (Sandbox Code Playgroud)

您可以使用jQuery的.val()函数.

$("#reset-date").click(function(){
    $('#datepicker').val("").datepicker("update");
})
Run Code Online (Sandbox Code Playgroud)

  • 我认为您可以使用不带参数的setStartDate和setEndDate方法来清除限制.http://bootstrap-datepicker.readthedocs.org/en/release/methods.html#setstartdate (2认同)
  • 这不会清除日期。您可以在控制台上用此检查。$(“#datepicker”)。datepicker(“ getDate”)`仍会提供先前选择的日期。您需要将`.datepicker('update')`传递到末尾,如下面的答案所示。 (2认同)

Lu5*_*u55 21

当前版本1.4.0有clearBtn选项:

$('.datepicker').datepicker({
    clearBtn: true
});
Run Code Online (Sandbox Code Playgroud)

除了向界面添加按钮外,它还允许手动删除输入框中的值.

  • 在版本4.17 ...它现在是`showClear:true,` (3认同)

Joe*_*rke 6

我试图清除已经设置的日期时遇到了这个帖子.尝试:

$('#datepicker').val('').datepicker('update');
Run Code Online (Sandbox Code Playgroud)

制作:

TypeError: t.dpDiv is undefined 
https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js -- Line 8
Run Code Online (Sandbox Code Playgroud)

认为可能需要将原始Datepicker包含在引导程序中会删除错误,但会导致原始的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);
Run Code Online (Sandbox Code Playgroud)

和inst.pdDiv不存在.

进一步调查 - 我意识到需要的是:

        $formControl = $duedate.find("input");
        $formControl.val('');
        $formControl.removeData();
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题.注意我还需要$ formControl.removeData(),否则窗口小部件的状态将不会重新初始化为初始状态.

我希望这有助于其他人.:-)


Dim*_*sta 5

实际上,使用像这样的库附带的方法要有用得多 $(".datepicker").datepicker("clearDates");

我建议您始终看一下该库的文档,这是我为此使用的文档。

bootstrap-datepicker方法文档


Vin*_*nie 5

您可以使用此语法来重置引导日期选择器

$('#datepicker').datepicker('update','');
Run Code Online (Sandbox Code Playgroud)

参考 http://bootstrap-datepicker.readthedocs.org/en/latest/methods.html#update