Я использую Datepicker Bootstrap, и я хочу загрузить текущую страницу, когда пользователь впервые посещает страницу, но после того, как они выберут другую дату и перейдут на другую страницу, я хочу продолжить использовать эту новую выбранную дату. Я нормально использую для этого локальную память. Ниже то, что у меня есть, но это не работает. Он будет сохранять дату, когда я меняю страницы, но не загружает текущую дату при первой загрузке.
Как мне это сделать? Спасибо!
$(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 [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно условно установить значение datepicker при загрузке страницы вместо того, чтобы всегда пытаться получить значение 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();
});
}
Какие результаты вы получаете? Ваша логика кажется правильной.