【问题标题】:Javascript / JQuery loading current date on first load, but saving date after changing pagesJavascript / JQuery在首次加载时加载当前日期,但在更改页面后保存日期
【发布时间】:2019-01-29 00:22:18
【问题描述】:

我正在使用 Bootstrap 的 Datepicker,我想在用户第一次访问该页面时加载当前页面,但在他们选择了不同的日期并移动到另一个页面后,我想继续使用新选择的日期。我可以使用本地内存来执行此操作。以下是我到目前为止所拥有的,但它不起作用。它会在我更改页面时保存日期,但它不会在第一次加载时加载当前日期。

我该怎么做?谢谢!

 $(document).ready(function () {
            var today = new Date();
            var dd = today.getDate();
            var mm = today.getMonth() + 1; //January is 0!
            var yyyy = today.getFullYear();
            if (dd < 10) {
                dd = '0' + dd;
            }

            if (mm < 10) {
                mm = '0' + mm;
            }
            var today = mm + '-' + dd + '-' + yyyy;
            document.getElementById("datepicker").value = localStorage.getItem("selected_date")
            $('#myTable').DataTable({
                fixedHeader: true,
                pageLength: 50
            });
            $('#datepicker').datepicker({
                format: 'mm-dd-yyyy'
            });
            $('#datepicker').on('changeDate', function (event) {
                selected_date = event.format();
                localStorage.setItem("selected_date", selected_date)
            });
            });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="datepicker" width="276" value=today>

【问题讨论】:

  • 你得到了什么结果?你的逻辑似乎是正确的。
  • 第一次加载页面时,日期输入框为空。一旦我选择了一个新日期,它就会工作并保存在 localStorage 中并且工作正常,但是由于某种原因,当我第一次加载页面时它不会加载当前日期。
  • 在下面查看我的答案。
  • 您使用的是哪种服务器端语言以及您是否使用 cookie?

标签: javascript jquery html datepicker bootstrap-4


【解决方案1】:

您需要在页面加载时有条件地设置日期选择器的值,而不是总是尝试获取 localStorage 值,因为在第一个页面加载时,不会有任何 localStorage 值:

let dp = document.getElementById("datepicker");
let savedDate = localStorage.getItem("selected_date");
if(savedDate) {
  dp.value = savedDate;
} else {
  // Set default value of datepicker here
  dp.datetimepicker({
    date: new Date();
  });
}

【讨论】:

    猜你喜欢
    • 2021-02-06
    • 1970-01-01
    • 2011-01-12
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多