У меня есть поле ввода, type="text"
, чтобы избежать срабатывания средства выбора даты html, и я инициализирую средство выбора даты jquery ui из javascript.
Когда я нажимаю первый раз в поле jquery datepickerоткрывается.
Если я щелкну в поле, избегая выбора даты, то при открытии jquery datepicker открывается обычный html datepicker.
function initDatepickerTaskEndDate(){
$("#closeTaskDatePicker").datepicker({
showOn: "both",
showOtherMonths: true,
selectOtherMonths: true,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
showWeek: true,
firstDay: 1,
minDate: setMinDate(),
maxDate: new Date(),
showButtonPanel: true,
beforeShow: function(){
if(confirm("Carefull")){
return true;
}
return false;
},
onClose: function (){// setting end date and link to call the save function
var closeDate = $("#closeTaskDatePicker").datepicker("getDate");
if(closeDate!=null){
$(".acceptCloseDate").prop("disabled",false);
}
},
}).focus(function(){
$(".ui-datepicker-calendar").css({"position":"relative"});
$(".acceptCloseDate").prop("disabled",true);
});
}
<input id="closeTaskDatePicker" type="text" name="endDate" th:value="${task.endDate}">
Что я могу сделать, чтобы не иметьэти 2 открыты.
Также обычные средства выбора даты из html дают раскрывающийся список, также когда он открывается.
У меня также есть другая таблица с одним столбцом с датчиками. При выборе одного из них отображаются датчики, которые отображаются не рядом споле, но где-то внутри экрана.Я использовал этот код CSS для того, чтобы зафиксировать положение рядом с полем
.ui-datepicker-calendar{
position: fixed;
}
Этот код, хотя и создает эффект 2 разных указателей даты, когда я изменяю его на относительный или абсолютный, у меня отображается правильное отображение дляпервый указатель даты, но все остальные из таблицы плавают.