> 웹 프론트엔드 > JS 튜토리얼 > JQuery 달력 플러그인 My97DatePicker 날짜 범위limit_jquery

JQuery 달력 플러그인 My97DatePicker 날짜 범위limit_jquery

WBOY
풀어 주다: 2016-05-16 15:19:11
원래의
1448명이 탐색했습니다.

본 글의 예시에서는 JQuery 캘린더 플러그인 My97DatePicker의 날짜 범위 제한 방식을 소개하고 있으며, 참고용으로 공유합니다

```

다음은 날짜 범위 제한 사항을 강조한 것입니다.
1) 정적 제한
minDate(최소 날짜) 및 maxDate(최대 날짜)를 정적 날짜 값으로 구성하여 날짜 범위를 제한할 수 있습니다
예 1.1: 제한 기간은 2012-12-1부터 2012-12-20입니다

코드 복사 코드는 다음과 같습니다.
```

예 1.2: 제한 기간은 2012-12-4 21:30:00 ~ 2012-12-4 23:59:30

코드 복사 코드는 다음과 같습니다.
```

예 1.3: 제한 기간은 2012년 12월부터 2013년 12월까지입니다

코드 복사 코드는 다음과 같습니다.
```

예 1.4: 제한 시간 범위는 9:00:00~18:30:00

코드 복사 코드는 다음과 같습니다.
```

2) 동적 제한
%y(현재 연도), %M(현재 월) 등과 같이 시스템에서 제공하는 동적 변수를 통해 날짜 범위를 제한할 수 있습니다. 또한 {}를 사용하여 다음과 같은 표현식 연산을 수행할 수도 있습니다. 1}: 내일을 의미

형식 설명
%y년
이번 달 %M
현재 %d일
%ld 매월 마지막 날
%H 현재시제
%m 현재 점수
%s 현재 초
{} 다음과 같은 연산 표현식: {%d+1}: 내일을 의미

F{}{}는 사용자 정의 JS 코드를 작성할 수 있는 함수입니다
예 2.1: 오늘(오늘 포함) 이전 날짜만 선택 가능

코드 복사 코드는 다음과 같습니다.

예 2.2: 은 연산식을 사용합니다. 오늘 이후의 날짜만 선택할 수 있습니다(오늘 제외).

코드 복사 코드는 다음과 같습니다.
```

예 2.3: 이번 달 1일부터 말일까지만 날짜를 선택할 수 있습니다

코드 복사 코드는 다음과 같습니다.
```

예 2.4: 오늘 7:00:00부터 내일 21:00:00

까지의 날짜만 선택할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
```

예 2.5: 은 연산식을 사용하며 20시간 전부터 30시간 후까지의 날짜만 선택할 수 있습니다

코드 복사 코드는 다음과 같습니다.
```

3) 스크립트 사용자 정의 제한
시스템은 날짜 계산에 도움이 되는 두 가지 API인 $dp.$D와 $dp.$DV를 제공합니다. 또한 #F{}에 사용자 지정 스크립트를 입력하여 원하는 작업을 수행할 수도 있습니다. 🎜>
예 3.1: 이전 날짜는 이후 날짜보다 이후일 수 없으며 두 날짜 모두 2020-10-01보다 이후일 수 없습니다. 에서
까지

```<input id="d4311" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4312\')||\'2020-10-01\'}'})"/>

```<input id="d4312" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4311\')}',maxDate:'2020-10-01'})"/>

로그인 후 복사

예 3.2: 이전 날짜 + 3일은 다음 날짜보다 클 수 없습니다

```<input type="text" class="Wdate" id="d4321" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4322\',{d:-3});}'})"/>

```<input type="text" class="Wdate" id="d4322" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4321\',{d:3});}'})"/>

로그인 후 복사

예 3.3: 이전 날짜 + 3월과 2일은 다음 날짜보다 클 수 없으며 이전 날짜는 2020-4-3에서 3월과 2일을 뺀 날짜보다 클 수 없습니다. 일 다음 날짜는 2020-4-3보다 이후일 수 없습니다

<input type="text" class="Wdate" id="d4331" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4332\',{M:-3,d:-2})||$dp.$DV(\'2020-4-3\',{M:-3,d:-2})}'})"/>
<input type="text" class="Wdate" id="d4332" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4331\',{M:3,d:2});}',maxDate:'2020-4-3'})"/>
로그인 후 복사

예 3.4: JS 재능을 활용하여 원하는 날짜 제한을 정의하세요 물론 무작위로 생성된 날짜로 자동 이동합니다. 물론 이 예는 실용성은 없으며 시연 목적으로만 사용됩니다

<script>
//返回一个随机的日期
function randomDate(){
var Y = 2000 + Math.round(Math.random() * 10);
var M = 1 + Math.round(Math.random() * 11);
var D = 1 + Math.round(Math.random() * 27);
return Y+'-'+M+'-'+D;
}
</script>
<input type="text" class="Wdate" id="d434" onFocus="var date=randomDate();WdatePicker({minDate:date,maxDate:date})"/>
로그인 후 복사

4) 유효하지 않은 날짜 제한 이 함수를 사용하여 일요일부터 토요일까지의 날짜를 비활성화할 수 있습니다. 관련 속성: 비활성화된 날짜(0부터 6까지 각각 일요일부터 토요일을 나타냄)

예 4.1: 토요일에 해당하는 날짜 비활성화

코드 복사 코드는 다음과 같습니다.
```

토요일과 일요일에 해당하는 날짜를 비활성화합니다

코드 복사 코드는 다음과 같습니다.
```

5)无效日期限制
可以使用此功能禁用,所指定的一个或多个日期,只要熟悉正则表达式,可以尽情发挥
用法(正则匹配):
如果你熟悉正则表达式,会很容易理解下面的匹配用法
如果不熟悉,可以参考下面的常用示例
['2008-02-01','2008-02-29'] 表示禁用 2008-02-01 和 2008-02-29
['2008-..-01','2008-02-29'] 表示禁用 2008-所有月份-01 和 2008-02-29
['200[0-8]]-02-01','2008-02-29'] 表示禁用 [2000至2008]-02-01 和 2008-02-29
['^2006'] 表示禁用 2006年的所有日期
此外,您还可以使用 %y %M %d %H %m %s 等变量, 用法同动态日期限制 注意:%ld不能使用
['....-..-01','%y-%M-%d'] 表示禁用 所有年份和所有月份的第一天和今天
['%y-%M-{%d-1}','%y-%M-{%d+1}'] 表示禁用 昨天和明天
当然,除了可以限制日期以外,您还可以限制时间
['....-..-.. 10\:00\:00'] 表示禁用 每天10点 (注意 : 需要 使用 \: )
示例5.1:禁用 每个月份的 5日 15日 25日

```<input id="d451" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:['5$']})"/>

//注意 :'5$' 表示以 5 结尾 注意 $ 的用法

로그인 후 복사

示例5.2:禁用 所有早于2000-01-01的日期

```<input id="d452" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:['^19']})"/>

//注意:'^19' 表示以 19 开头 注意 ^ 的用法
//当然,可以使用minDate实现类似的功能 这里主要是 在演示 ^ 的用法

로그인 후 복사

示例5.3:配合min/maxDate使用,可以把可选择的日期分隔成多段

复制代码 代码如下:
```

示例5.4:min/maxDate disabledDays disabledDates 配合使用 即使在要求非常苛刻的情况下也能满足需求

复制代码 代码如下:
```

示例5.5:禁用前一个小时和后一个小时内所有时间 使用 %y %M %d %H %m %s 等变量

复制代码 代码如下:
```

示例5.6: #F{}也是可以使用的
本示例利用自定义函数 随机禁用0-23中的任何一个小时
打开小时选择框,你会发现有一个小时被禁用的,而且每次禁用的小时都不同

<script>
function randomH(){
//产生一个随机的数字 0-23
var H = Math.round(Math.random() * 23);
if(H<10) H='0'+H;
//返回 '^' + 数字
return '^'+H;
}
</script>
<input type="text" class="Wdate" id="d456" onFocus="WdatePicker({dateFmt:'HH:mm:ss',disabledDates:['#F{randomH()}']})"/>
로그인 후 복사

6)有效日期
使用无效日期可以很方便的禁用不可用的日期,但是在只需要启用少部分日期的情况下,有效日期的功能就非常适合了.
关键属性: opposite 默认为false, 为true时,无效日期变成有效日期,该属性对无效天,特殊天不起作用
示例6.1:只启用 每个月份的 5日 15日 25日

```<input id="d46" type="text" class="Wdate" onFocus="WdatePicker({opposite:true,disabledDates:['5$']})"/>

//注意 :'5$' 表示以 5 结尾 注意 $ 的用法

로그인 후 복사

7) 특별한 날과 날짜
특별일 및 특별일의 사용법은 완전히 무효일 및 무효일과 동일하지만 반대속성은 무효입니다
주요 속성:
SpecialDays(0~6은 각각 일요일~토요일을 나타냄) 사용법은 유효하지 않은 날과 동일합니다
SpecialDates의 사용법은 유효하지 않은 날짜와 동일하지만 시, 분, 초에 대해서는 유효하지 않습니다
예 7.1: 월요일 금요일 강조

코드 복사 코드는 다음과 같습니다.
```

예 7.2: 매월 1일과 15일 강조

코드 복사 코드는 다음과 같습니다.
```

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿