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

点击按钮弹出jQuery/bootstrap日期选择器并将选中日期赋值给变量

实现点击按钮弹窗显示Datepicker并获取选中日期

没问题呀!刚接触jQuery难免会有点摸不着头绪,我来帮你搞定这个需求~ 首先要注意的是:jQuery本身没有自带datepicker组件,这个是jQuery UI里的功能,所以我们需要先补充引入jQuery UI的依赖文件,再实现弹窗选日期的逻辑。

完整实现代码

<!-- 按钮和隐藏输入框 -->
<button type="button" class="btn btn-primary" onclick='snapshot_btn()'> Snapshot </button>
<input type="hidden" id="button_snapshot" />

<!-- 引入依赖:先jQuery,再jQuery UI的JS和CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

<script>
// 定义全局变量存储选中的日期(也可以根据需求改成局部变量)
let selectedDate;

function snapshot_btn() {
  // 创建临时div作为datepicker的容器,用dialog做成弹窗
  $("<div>").dialog({
    modal: true, // 模态弹窗,点击外部无法关闭
    title: "请选择日期",
    open: function() {
      // 在弹窗内初始化datepicker
      $(this).datepicker({
        dateFormat: "yy-mm-dd", // 设置日期格式,可自定义(比如"mm/dd/yy")
        onSelect: function(dateText) {
          // 选中日期后赋值给变量
          selectedDate = dateText;
          // 同时把日期同步到隐藏输入框(如果不需要可以删掉这行)
          $("#button_snapshot").val(dateText);
          // 关闭弹窗
          $(this).dialog("close");
          // 可选:打印结果确认
          console.log("你选中的日期是:", selectedDate);
        }
      });
    },
    close: function() {
      // 弹窗关闭后移除临时div,避免页面残留元素
      $(this).remove();
    }
  });
}
</script>

关键部分说明

  • 依赖补充:必须先引入jQuery,再引入jQuery UI的JS和CSS,不然datepicker和dialog功能都用不了。
  • 弹窗与datepicker结合:我们通过创建临时div,用jQuery UI的dialog把它变成模态弹窗,然后在弹窗打开时初始化datepicker。
  • 日期存储:用selectedDate全局变量存储选中的日期,你也可以根据业务需求改成局部变量或者存入其他地方。
  • 日期格式:dateFormat参数可以自定义日期显示格式,比如改成"mm/dd/yy"就是月/日/年的格式,具体可按需调整。
  • 清理临时元素:弹窗关闭时移除临时div,避免页面上留下多余的DOM元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:34:36