首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何动态设置bootstrap-datepicker的日期值?

如何动态设置bootstrap-datepicker的日期值?
EN

Stack Overflow用户
提问于 2012-07-16 23:29:44
回答 25查看 252.8K关注 0票数 81

我使用的是bootstrap datepicker和一个高线图。

我希望在缩放图表时更新日期选择器日期。一旦该事件触发,我就会更新datepicker的值。值可以正常更新,但是当单击日历时,弹出日历上的日期仍然是旧日期。

这是我的datepicker:

代码语言:javascript
运行
复制
<div class="input-append date pull-right" id="dpStartDate" data-date="@DateTime.Now.AddMonths(-1).ToString("dd/MM/yyyy")" data-date-format="dd/mm/yyyy">
    <input class="span2" id="startDateText" size="16" type="text" value="@DateTime.Now.AddMonths(-1).ToString("dd/MM/yyyy")" readonly="">
    <span class="add-on"><i class="icon-th"></i></span>
</div>

我已经尝试使用下面的代码来更新这些值:

代码语言:javascript
运行
复制
$('#dpStartDate').attr('data-date', startDate);
$('#startDateText').attr('value', startDate);

它可以很好地更新日期,但不会设置日历。

我还尝试触发了onChange事件,它也会更新日期,但不会更新日历:

代码语言:javascript
运行
复制
$('#dpStartDate').trigger('changeDate', startDate);

$('#dpStartDate').datepicker()
    .on('show', function (ev) {
        ev.stopPropagation();
    })
    .on('changeDate', function (ev, date) {
        var startDate = new Date();
        if (date != undefined) {
            startDate = date;
            $('#dpStartDate').attr('data-date', startDate);
            $('#startDateText').attr('value', startDate);
        }
        else {
            startDate = ev.date;
            $('#dpStartDate').attr(startDate.getDate() + '/' + (startDate.getMonth() + 1) + '/' + startDate.getFullYear());
            $('#startDateText').attr(startDate.getDate() + '/' + (startDate.getMonth() + 1) + '/' + startDate.getFullYear());
        }
        $('#dpStartDate').datepicker('hide');
        ev.stopPropagation();
    });

有没有人知道是否可以这样更新日历?

谢谢

EN

回答 25

Stack Overflow用户

发布于 2013-11-13 20:32:09

这对我很管用

代码语言:javascript
运行
复制
$(".datepicker").datepicker("update", new Date());
票数 75
EN

Stack Overflow用户

发布于 2012-11-15 22:59:24

代码语言:javascript
运行
复制
var startDate = new Date();

$('#dpStartDate').data({date: startDate}).datepicker('update').children("input").val(startDate);

另一种方式

代码语言:javascript
运行
复制
$('#dpStartDate').data({date: '2012-08-08'});
$('#dpStartDate').datepicker('update');
$('#dpStartDate').datepicker().children('input').val('2012-08-08');

日期选择器在属性data-date

  • update上设置日历日期(必需)

  • 设置输入值(请记住,输入是日期选择器的子项)。

这样,您可以将日期设置为'2012-08-08‘

票数 42
EN

Stack Overflow用户

发布于 2013-08-09 17:31:34

代码语言:javascript
运行
复制
$("#datepicker").datepicker("setDate", new Date);
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11507508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档