Пользовательская опция select2 date не открывается при повторном нажатииJquery

Программирование на jquery
Ответить
Anonymous
 Пользовательская опция select2 date не открывается при повторном нажатии

Сообщение Anonymous »


Код: Выделить всё

$(document).ready(function() {

///dateee picker
$("#date-range-options").select2({
placeholder: "Select",
minimumResultsForSearch: -1,
closeOnSelect: false,
allowClear: false
});

$("#date-range-options").on('select2:open', function() {
$("#custom-range").hide();
$("#startdatetext").text("");
$("#enddatetext").text("");
$("#startDate-text").text("");
$("#endDate-text").text("");
})

$("#date-range-options").on('select2:select', function() {
console.log("date cal", $(this).val())
selectedDateOpt = $(this).val();
$("#startdatetext").text("");
$("#enddatetext").text("");
$("#startDate-text").text("");
$("#endDate-text").text("");
$('.selectedDateContainer').hide();
if ($(this).val() === "custom") {
console.log("date inside", $(this).val())
$("#custom-range").show();
$("#btn-block").show();
$(".custom-range-datepick").show().addClass('flex-important');
$(".custom-range-datepick").removeClass('hidden-important');
$("#date-range-options").select2('close');
$("#start-date-container").datepicker({
dateFormat: "yy-mm-dd",
onSelect: function(selectedDate) {
startDateText = '';
startDateText = selectedDate;
console.log("selecteddd end", startDateText)
$("#end-date-container").datepicker("option", "minDate", selectedDate);
document.getElementById('startdateText').innerHTML = startDateText
document.getElementById('startDate-text').innerHTML = startDateText
console.log("Start Date:", startDateText);
}
});

$("#end-date-container").datepicker({
dateFormat: "yy-mm-dd",
onSelect: function(selectedDate) {
endDateText = "";
endDateText = selectedDate;
console.log("selecteddd end", endDateText)
$("#start-date-container").datepicker("option", "maxDate", selectedDate);
document.getElementById('enddateText').innerHTML = endDateText
document.getElementById('endDate-text').innerHTML = endDateText
console.log("Custom Range Selected:");
console.log("End Date:", endDateText);
}
});
} else {
$('.selectedDateContainer').hide();
$("#btn-block").hide()
console.log("date outside", $(this).val())
$("#custom-range").hide();
$(".custom-range-datepick").removeClass('flex-important');
$(".custom-range-datepick").hide().addClass('hidden-important');
getFilterDataAward();

}
});
$("#custom-range").hide();
$("#date-range-options").val("").trigger('change');

$("#apply-btn-date").click(function() {
console.log("inside apply btn")
const selectedOption = $("#date-range-options").val();
console.log("selectedOpy", selectedOption)
if (selectedOption === "custom") {
$("#date-range-options").select2('close');
$("#custom-range").hide();
getFilterDataAward();
$('.selectedDateContainer').show();
} else {
console.log("Selected Option:", selectedOption);
$('.selectedDateContainer').hide();
}
});

$("#cancel-btn-date").click(function() {
$("#custom-range").hide();
$("#date-range-options").val("").trigger('change');
$("#startdateText").text("");
$("#enddateText").text("");
$("#date-range-options").select2('open');
filterRequest.startDate = null;
filterRequest.endDate = null;

})

$("#reset-btn-date").click(function() {
$("#custom-range").hide();
$("#date-range-options").val("").trigger('change');
$("#startdateText").text("");
$("#enddateText").text("");
$("#startDate-text").text("");
$("#endDate-text").text("");
$(".selectedDateContainer").hide();
})

});

function getFilterDataAward() {
console.log("calls api")
}

Код: Выделить всё

 #custom-range {
z-index: 99999;
position: absolute;
display: none;
background-color: #fff;
padding: 10px 2px 5px 2px;
border:  1px solid #000;
}

Код: Выделить всё













Date Range


Week
Month
Year
Custom Range

Start DateEnd Date



Start Date:

End Date:



ResetCancelApply





Я использую библиотеку select2 для реализации раскрывающегося списка дат. Возникла проблема с если нажимать на пользовательскую опцию снова и снова, пользовательская дата не открывается.
Например, если я нажимаю на пользовательскую опцию даты в первый раз, она открывается, но не во второй раз. Если я нажму на любую другую опцию, а затем снова нажму на нее. Оно открывается. Как это исправить. Я хочу, чтобы это работало одинаково, независимо от того, нажимаю ли я на него постоянно. Вот мой рабочий фрагмент кода для справки

Подробнее здесь: https://stackoverflow.com/questions/786 ... cked-again
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»