【问题标题】:Bootstrap datepicker query?引导日期选择器查询?
【发布时间】:2014-12-30 14:21:45
【问题描述】:

我有两个日期,即 datedate1。在date,我得到月份和年份,在date1,我想得到在date 中选择的特定月份的日期。问题是我无法做到这一点。 如果有人可以帮助我,我已经做了小提琴的例子。

请在下面的评论中找到小提琴链接。

【问题讨论】:

标签: jquery html twitter-bootstrap bootstrap-datepicker


【解决方案1】:

在这里我可以在datepicker 上选择月份和年份。在datepicker1,只能选择对应月份的天数。

HTML:

<input type="text" id="datepicker" />
<input type="text" id="datepicker1" />
<button id="resetBtn" class="btn btn-danger" type="button">Clear</button>

JQuery:

// Create the first datepicker based on month
$('#datepicker').datepicker({
    format: 'mm-yyyy',
    viewMode: 'months',
    minViewMode: 'months'
});

// On change, set the date of the first datepicker to the inputDate variable
// and then set the month on the second datepicker
$('#datepicker').on('change', function () {
    var inputDate = $('#datepicker').datepicker('getDate');
    var lastDate = new Date(inputDate.getFullYear(), inputDate.getMonth() + 1, 0);

    $('#datepicker1').datepicker({
        startDate: inputDate,
        endDate: lastDate
    });
});

// Reset the values for both datepickers
$('#resetBtn').click(function () {
    $('#datepicker').val("").datepicker('update');
    $('#datepicker1').val("").datepicker('update');
    $('#datepicker1').datepicker('remove');
});

警告:
此代码将无法动态更改在datepicker1 上从datepicker 选择的日期。您需要使用resetBtn 按钮清除这些值作为解决方法。当用户尝试在 datepicker 上更改月份而不先清除日期选择器时,您可能需要添加一些错误处理。


来自 OP 的更新:
我已经按要求做了解决方案,不需要清除按钮。

$('#datepicker').datepicker({
    format: 'MM',
    viewMode: 'months',
    minViewMode: 'months',    
});

$('#datepicker').on('focus', function () { 
    $('#datepicker1').val("").datepicker('update');
    $('#datepicker1').datepicker('remove');
}); 

$('#datepicker').on('change', function () {
    var inputDate = $('#datepicker').datepicker('getDate');
    var lastDate = new Date(inputDate.getFullYear(), inputDate.getMonth() + 1, 0);

    $('#datepicker1').datepicker({
        startDate: inputDate,
        endDate: lastDate,
        format: "dd",
        viewMode: "days",
        minViewMode: "days"
    });  
});

【讨论】:

  • 是的,它有帮助,但用户可以更改 datepicker1,我的要求是在 datepicker 中选择月份后,在 datepicker1 中显示相同的月份。
  • @user2689563 我已经更新了我的答案。希望这会有所帮助!
猜你喜欢
  • 1970-01-01
  • 2012-11-02
  • 1970-01-01
  • 1970-01-01
  • 2015-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多