어떻게했는지 알 수는 없지만 jQuery를 사용하는 방법은 그렇게 보일 것입니다. 기본적으로 우리는 apply.daterangepicker
과 cancel.daterangepicker
을 듣고 처리했습니다. prepareDateRangeControl
으로 전화하면 모든 기간 선택 도구가 초기화됩니다. 서버 측 렌더링과 jQuery가 페이지가 렌더링 된 후에 일부 UI 요소를 만지는 것처럼 ASP.NET MVC 프로젝트에서이 방법을 사용했음을 언급했습니다. 각 프로젝트에 대한
function prepareDateRangeControl() {
function adjustWidth(control) {
control.attr('size', control.val().length);
}
$(".form-control.daterange").each(function() {
$(this).daterangepicker({
autoUpdateInput: false,
applyClass: "btn-primary",
timePicker: true,
timePicker24Hour: true,
format: $(this).data("format"),
locale: {
cancelLabel: "Clear",
format: $(this).data("format")
},
ranges: {
"Today": [moment().startOf("day"), moment().endOf("day")],
"Yesterday": [moment().subtract(1, "days").startOf("day"), moment().subtract(1, "days").endOf("day")],
"Last 7 Days": [moment().subtract(6, "days").startOf("day"), moment().endOf("day")],
"Last 30 Days": [moment().subtract(29, "days").startOf("day"), moment().endOf("day")],
"This Month": [moment().startOf("month"), moment().endOf("month")]
}
});
adjustWidth($(this));
});
$(".form-control.daterange").on("apply.daterangepicker", function (event, picker) {
if (picker.startDate.hour() === 0 && picker.startDate.minute() === 0) {
if (picker.endDate.hour() === 0 && picker.endDate.minute() === 0) {
picker.endDate.hour("23");
picker.endDate.minute("59");
}
}
var format = $(this).data("format");
var text = picker.startDate.format(format) + " - " + picker.endDate.format(format);
picker.element.val(text);
adjustWidth($(this));
});
$(".form-control.daterange").on("cancel.daterangepicker", function (event, picker) {
picker.element.val("");
adjustWidth($(this));
});
}
, 우리는 또한
ng2-daterangepicker를 사용하지만이 사용 사례는 우리는 당신의 요구 사항으로 시간 선택기를 처리 할 필요가 없습니다. 원래의 라이브러리와 동일한 이벤트를 캡슐화하고 제공하기 때문에 아이디어가 위의 코드와 동일하기를 바랍니다.
사용중인 코드도 게시 할 수 있습니까? – trungk18