You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Multidatepicker MDP选中总天数并显示到输入框

获取Multidatepicker选中天数并填入输入框

没问题,这个需求很好实现!Multidatepicker本身提供了获取选中日期的方法,我们只需要监听日期选择的变化,计算选中天数再更新到输入框就可以了。

解决方案步骤:

  • 利用MDP的getDates()方法获取所有选中的日期数组,数组的长度就是选中的天数
  • 通过onSelect回调监听每次日期选择/取消的操作,实时更新输入框的值
  • 页面初始化时也要同步一次初始选中的天数(避免默认选中日期时输入框为空)

修改后的完整代码:

// 初始化多日期选择器
$('#mdp-demo').multiDatesPicker({
  numberOfMonths: [1,2],
  altField: '#altField',
  minDate: 2,
  // 每次选择/取消日期时触发
  onSelect: function() {
    // 获取选中的日期数组
    const selectedDates = $(this).multiDatesPicker('getDates');
    // 将天数填入目标输入框,记得替换#dayCount为你实际的输入框ID
    $('#dayCount').val(selectedDates.length);
  }
});

// 页面加载完成后,同步初始选中的天数(如果有默认选中项)
const initialSelected = $('#mdp-demo').multiDatesPicker('getDates');
$('#dayCount').val(initialSelected.length);

说明:

  • getDates()返回的是一个包含所有选中日期的数组,直接取length就能得到天数
  • onSelect回调会覆盖用户的每一次选择操作,确保输入框内容和选中状态实时同步
  • 最后那部分初始化同步的代码,是为了处理页面刚加载时就有默认选中日期的场景,避免输入框一开始是空的

内容的提问来源于stack exchange,提问作者Gerald Sihotang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:37:33