jQuery Date Picker - 과거 날짜 사용 안 함
UI 달력 보기를 사용하여 날짜 범위를 선택하려고 합니다.
시작/종료 필드에서는 현재 날짜 이전의 날짜를 보거나 선택할 수 없습니다.
내 코드는 다음과 같습니다.
$(function() {
var dates = $( "#from, #to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" ),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
}
});
});
누가 이전 날짜에서 현재 날짜까지 비활성화하는 방법을 알려줄 수 있습니까?
새 날짜 개체를 생성하고 다음과 같이 설정해야 합니다.minDate
날짜 선택을 초기화할 때
<label for="from">From</label> <input type="text" id="from" name="from"/> <label for="to">to</label> <input type="text" id="to" name="to"/>
var dateToday = new Date();
var dates = $("#from, #to").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
minDate: dateToday,
onSelect: function(selectedDate) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
편집 - 당신의 의견에서 이제 예상대로 작동합니다. http://jsfiddle.net/nicolapeluchetti/dAyzq/1/
신고일자Today 변수 및 Date() 함수를 사용하여 설정합니다.그런 다음 해당 변수를 사용하여 날짜 선택기의 매개 변수인 minDate에 할당합니다.
var dateToday = new Date();
$(function() {
$( "#datepicker" ).datepicker({
numberOfMonths: 3,
showButtonPanel: true,
minDate: dateToday
});
});
바로 그거야...위의 답변은 정말 도움이 되었습니다...얘들아, 계속해요.
$('#datepicker-dep').datepicker({
minDate: 0
});
minDate:0
저한테는 효과가 있어요.
minDate 옵션을 사용하여 허용된 가장 빠른 날짜를 제한합니다.값 "0"은 오늘(오늘로부터 0일)을 의미합니다.
$(document).ready(function () {
$("#txtdate").datepicker({
minDate: 0,
// ...
});
});
문서: http://api.jqueryui.com/datepicker/ #option-minDate
여기에 덧붙이자면:
사용자가 과거 날짜를 수동으로 입력하지 못하도록 해야 하는 경우에도 가능한 해결 방법입니다.이것이 우리가 하게 된 것입니다(@Nicola Pelucetti의 답변에 기초함).
var dateToday = new Date();
$("#myDatePickerInput").change(function () {
var updatedDate = $(this).val();
var instance = $(this).data("datepicker");
var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, updatedDate, instance.settings);
if (date < dateToday) {
$(this).datepicker("setDate", dateToday);
}
});
이렇게 하면 사용자가 과거 날짜를 수동으로 입력하는 경우 값을 오늘 날짜로 변경할 수 있습니다.
$('#from').datepicker(
{
minDate: 0,
beforeShow: function() {
$(this).datepicker('option', 'maxDate', $('#to').val());
}
});
$('#to').datepicker(
{
defaultDate: "+1w",
beforeShow: function() {
$(this).datepicker('option', 'minDate', $('#from').val());
if ($('#from').val() === '') $(this).datepicker('option', 'minDate', 0);
}
});
이것은 이것을 하는 쉬운 방법입니다.
$('#datepicker').datepicker('setStartDate', new Date());
또한 우리는 미래의 날들을 비활성화할 수 있습니다.
$('#datepicker').datepicker('setEndDate', new Date());
설정별startDate: new Date()
$('.date-picker').datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
...
startDate: new Date(),
});
날짜 선택기의 startDate 속성을 설정합니다. 작동합니다. 아래는 작동 코드입니다.
$(function(){
$('#datepicker').datepicker({
startDate: '-0m'
//endDate: '+2d'
}).on('changeDate', function(ev){
$('#sDate1').text($('#datepicker').data('date'));
$('#datepicker').datepicker('hide');
});
})
선택 가능한 최소 날짜입니다.으로 설정할 경우null
최소는 없습니다.
지원되는 여러 유형:
날짜: 최소 날짜를 포함하는 날짜 개체입니다.
번호: 오늘로부터 며칠 후입니다.예를들면2
나타내다two days
오늘부터 그리고-1
나타내다yesterday
.
String: 에서 정의한 형식의 문자열입니다.dateFormat
옵션 또는 상대 날짜.
상대 날짜는 값과 기간 쌍을 포함해야 합니다. 유효 기간은 다음과 같습니다.y
위해서years
,m
위해서months
,w
위해서weeks
,그리고.d
위해서days
.예를들면,+1m +7d
나타내다one month and seven days
부터today
.
오늘이 아닌 이전 날짜를 표시하지 않으려면
$('#datepicker').datepicker({minDate: 0});
코드를 교체하십시오.
이전 코드:
$("#dateSelect").datepicker({
showOtherMonths: true,
selectOtherMonths: true,
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'yy-mm-dd'
});
새 코드:
$("#dateSelect").datepicker({
showOtherMonths: true,
selectOtherMonths: true,
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'yy-mm-dd',
minDate: 0
});
jquery datepicker에서 지나간 날짜를 비활성화하려면 "mindate" 특성을 사용해야 합니다.
minDate: newDate() OrminDate: '0'이 키입니다.
Ex:
$(function() {
$( "#datepicker" ).datepicker({minDate: new Date()});
});
OR
$(function() {
$( "#datepicker" ).datepicker({minDate: 0});
});
간단히 사용할 수 있습니다.
startDate: 'today'
저한테는 잘 작동합니다.
이전 날짜 비활성화, 유연한 주말 날짜 비활성화 기능을 만들었습니다(토요일, 일요일처럼).
우리는 jQuery UI datepicker plugin의 showday method 전에 사용하고 있습니다.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
var NotBeforeToday = function(date) {
var now = new Date(); //this gets the current date and time
if (date.getFullYear() == now.getFullYear() && date.getMonth() == now.getMonth() && date.getDate() >= now.getDate() && (date.getDay() > 0 && date.getDay() < 6) )
return [true,""];
if (date.getFullYear() >= now.getFullYear() && date.getMonth() > now.getMonth() && (date.getDay() > 0 && date.getDay() < 6))
return [true,""];
if (date.getFullYear() > now.getFullYear() && (date.getDay() > 0 && date.getDay() < 6))
return [true,""];
return [false,""];
}
jQuery("#datepicker").datepicker({
beforeShowDay: NotBeforeToday
});
오늘 날짜는 9월 15일입니다.토요일과 일요일을 사용할 수 없습니다.
현재 날짜를 다음과 같은 변수로 선언해야 합니다.
$(function() {
var date = new Date();
var currentMonth = date.getMonth();
var currentDate = date.getDate();
var currentYear = date.getFullYear();
$('#datepicker').datepicker({
minDate: new Date(currentYear, currentMonth, currentDate)
});
})
$( "#date" ).datetimepicker({startDate:new Date()}).datetimepicker('update', new Date());
new Date()
함수는 이전 날짜가 잠긴 오늘 날짜를 가져옵니다.100% 작동하는
언급URL : https://stackoverflow.com/questions/8356358/jquery-date-picker-disable-past-dates
'programing' 카테고리의 다른 글
mysqli-> insert_id는 새 서버로 이동한 후 항상 PHP에서 0을 반환합니다. (0) | 2023.09.09 |
---|---|
No. 주를 사용하여 MySql에서 주의 첫 번째 요일 가져오기 (0) | 2023.09.04 |
a를 개발하거나 배포하려면 수수료를 내야 합니까?NET 어플리케이션? (0) | 2023.09.04 |
com.myql.jdbc.exceptions.jdbc4가 있는 이유는 무엇입니까?커뮤니케이션예외:통신 링크 고장 (0) | 2023.09.04 |
jQuery agax는 IE 디버거가 열려 있을 때만 IE에서 작동합니다. (0) | 2023.09.04 |