amazeui-js插件-ui增強-日期組件如何使用(把實例做一下)
一、總結
一句話總結:需要jquery.js和amazeui.js一切才能使用
1、amazeui中的各種js效果要怎么才能使用?
解答:需要jquery.js和amazeui.js一起才能使用 。
2、html中如何引入一個css?
解答:用link標簽,有個rel屬性是stylesheet,然后href是引入的css的地址,link rel="stylesheet" href="css/amazeui.min.css"。
3、html中如何引入一個js?
解答: javascript標簽,里面的src是要引入的js的路徑,和img標簽很像了,script src="js/jquery.min.js" script。
4、html中margin如何設置自動居中?
解答:需要先設置width,然后用margin:auto 。
5、html中的margin的參數是什么情況(有一個時,兩個,四個)?
解答: 四個:上又下左。兩個:上下 左右。一個:全部。
6、html中的border的幾個參數是什么情況?
解答: 依次是是邊框寬度,邊框樣式,邊框顏色。那說明是邊框寬度最重要
7、html邊框樣式中需要記住哪個屬性?
解答:ridge 。
8、html樣式中的點和#號分別代表什么?
解答:點號代表類,#號代表id 。
9、如何使用amazeui的日期js插件?
解答:在input上面加上data-am-datepicker 當然和 readonly一起配合使用效果更佳,form上面也可以加上data-am-validator 。
10、讓input不可以操作的兩個屬性是什么?
解答: readonly和disabled。
11、amazeui時間組件如何使用?
解答:日期組件上面有時間組件的github鏈接,而時間組件的github上面有使用的詳細說明 。
12、非 input
觸發元素如何使用amazeui的日期js插件?
解答:非 input>
觸發元素需增加 .am-datepicker-add-on
class。。結合 .am-input-group
使用,父類添加 class .am-datepicker-date
,非input>
觸發元素需增加 .am-datepicker-add-on
class。 span class="am-input-group-btn am-datepicker-add-on"
。
13、amazeui的日期js插件如何更改顏色?
解答:通過theme屬性,data-am-datepicker="{theme: 'success'}"
。
14、amazeui的日期js插件如何更改視圖(就是選擇的時候只顯示年,還是年月日一起顯示)?
解答:data-am-datepicker="{format: 'yyyy-mm-dd', viewMode: 'years'}"
。
15、amazeui的日期js插件有幾種視圖?
解答: 三種:days
: 顯示天(默認,months
: 顯示月 ,years
: 顯示年 。
16、amazeui的日期js插件更改多參數中間用什么符號連接?
解答:逗號,data-am-datepicker="{format: 'yyyy-mm-dd', viewMode: 'years'}"
。
17、amazeui的日期js插件如何限制視圖,比如限制只能選擇到月份?
解答:data-am-datepicker="{format: 'yyyy-mm', viewMode: 'years', minViewMode: 'months'}"
。
18、amazeui的日期js插件如何限制只能選擇到年份的時候的注意事項是什么?
解答:注意 format: 'yyyy '
里面 yyyy
后面多加一個空格。 data-am-datepicker="{format: 'yyyy ', viewMode: 'years', minViewMode: 'years'}"
。
19、amazeui的日期js插件如何用js操作?
解答:通過監聽自定義事件 changeDate
,可以在回調函數中進行驗證等操作。通過 $().data('date')
獲取改變后的日期。 。
$('#my-start').datepicker().
on('changeDate.datepicker.amui', function(event) { if (event.date.valueOf() > endDate.valueOf()) { $alert.find('p').text('開始日期應小於結束日期!').end().show(); } else { $alert.hide(); startDate = new Date(event.date); $('#my-startDate').text($('#my-start').data('date')); } $(this).datepicker('close'); });
20、jquery中如何帶事件event對象?
解答:參數傳進來即可,$('#my-start').datepicker().
on('changeDate.datepicker.amui', function(event)
{}。
21、amazeui的日期js插件可以設置禁止選擇日期么?
解答:可以,初始化的時候通過 onRender
選項設置禁用日期。 。
22、如何使用amazeui的日期js插件(兩種方法)?
解答:添加 data-am-datepicker
屬性,並設置相關選項,input class="" data-am-datepicker="{format: 'yyyy-mm'}"
。通過 $().datepicker(options)
調用。$('#my-datepicker').datepicker({format: 'yyyy-mm'});
。
23、amazeui的日期js插件如何設置語言?
解答:用locale屬性,data-am-datepicker="{locale: 'en_US'}"
。
二、自己實例
1、截圖
2、代碼
1 <!DOCTYPE html> 2 <html lang="cn"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <link rel="stylesheet" href="css/amazeui.min.css"> 7 <script language="JavaScript" type="text/javascript" src="js/jquery-3.3.1.min.js" ></script> 8 <script src="js/jquery.min.js"></script> 9 <script src="js/amazeui.min.js"></script> 10 <style> 11 .testCenter{ 12 /*有寬度之后加margin:auto才能實現自動居中*/ 13 width: 400px; 14 height: 300px; 15 margin:100px auto; 16 border: 15px ridge #0b6fa2; 17 background: bisque; 18 19 } 20 .formStyle{ 21 width: 200px; 22 margin:100px auto; 23 } 24 </style> 25 </head> 26 <body> 27 <div class="testCenter" > 28 <div class="formStyle"> 29 <form action="" class="am-form" data-am-validator> 30 <p> 31 <input type="text" class="am-form-field" placeholder="日歷組件" data-am-datepicker readonly required /> 32 </p> 33 <p><button class="am-btn am-btn-primary">提交</button></p> 34 </form> 35 </div> 36 </div> 37 38 </body> 39 </html>
三、amazeui日期組件如何使用文檔
日期選擇插件。需要時間選擇的參見:DateTimePicker - 日期時間選擇插件。
注意:
在觸控設備上, <input>
獲得焦點時會激活鍵盤,部分瀏覽器添加 readonly
屬性以后可禁止鍵盤激活。
使用演示
基本形式
在 <input>
上增加 data-am-datepicker
屬性,調用日期插件。
<form action="" class="am-form" data-am-validator> <p> <input type="text" class="am-form-field" placeholder="日歷組件" data-am-datepicker readonly required /> </p> <p><button class="am-btn am-btn-primary">提交</button></p> </form>
結合組件使用
結合 .am-input-group
使用,父類添加 class .am-datepicker-date
,非 <input>
觸發元素需增加 .am-datepicker-add-on
class。
<div class="am-input-group am-datepicker-date" data-am-datepicker="{format: 'dd-mm-yyyy'}"> <input type="text" class="am-form-field" placeholder="日歷組件" readonly> <span class="am-input-group-btn am-datepicker-add-on"> <button class="am-btn am-btn-default" type="button"><span class="am-icon-calendar"></span> </button> </span> </div>
更改顏色
默認為藍色,設置 theme
選項可改變顏色:
success
: 綠色warning
: 橙色danger
: 紅色
<p><input type="text" class="am-form-field" placeholder="日歷組件" data-am-datepicker="{theme: 'success'}" readonly/></p>
視圖模式
通過參數 viewMode
設置日歷初始視圖模式:
days
: 顯示天(默認)months
: 顯示月years
: 顯示年
<div class="am-input-group am-datepicker-date" data-am-datepicker="{format: 'yyyy-mm-dd', viewMode: 'years'}"> <input type="text" class="am-form-field" placeholder="日歷組件" readonly> <span class="am-input-group-btn am-datepicker-add-on"> <button class="am-btn am-btn-default" type="button"><span class="am-icon-calendar"></span> </button> </span> </div>
限制視圖模式
設置參數 minViewMode
可以限制視圖模式。下面的示例中限制了只能選擇到月份:
<div class="am-input-group am-datepicker-date" data-am-datepicker="{format: 'yyyy-mm', viewMode: 'years', minViewMode: 'months'}"> <input type="text" class="am-form-field" placeholder="日歷組件" readonly> <span class="am-input-group-btn am-datepicker-add-on"> <button class="am-btn am-btn-default" type="button"><span class="am-icon-calendar"></span> </button> </span> </div>
只能選擇年份:
注意 format: 'yyyy '
里面 yyyy
后面多加一個空格。
<div> <input type="text" class="am-form-field" data-am-datepicker="{format: 'yyyy ', viewMode: 'years', minViewMode: 'years'}" placeholder="日歷組件" data-am-datepicker readonly/> </div>
自定義事件
通過監聽自定義事件 changeDate
,可以在回調函數中進行驗證等操作。通過 $().data('date')
獲取改變后的日期。
<div class="am-alert am-alert-danger" id="my-alert" style="display: none"> <p>開始日期應小於結束日期!</p> </div> <div class="am-g"> <div class="am-u-sm-6"> <button type="button" class="am-btn am-btn-default am-margin-right" id="my-start">開始日期</button><span id="my-startDate">2014-12-20</span> </div> <div class="am-u-sm-6"> <button type="button" class="am-btn am-btn-default am-margin-right" id="my-end">結束日期</button><span id="my-endDate">2014-12-25</span> </div> </div> <script> $(function() { var startDate = new Date(2014, 11, 20); var endDate = new Date(2014, 11, 25); var $alert = $('#my-alert'); $('#my-start').datepicker(). on('changeDate.datepicker.amui', function(event) { if (event.date.valueOf() > endDate.valueOf()) { $alert.find('p').text('開始日期應小於結束日期!').end().show(); } else { $alert.hide(); startDate = new Date(event.date); $('#my-startDate').text($('#my-start').data('date')); } $(this).datepicker('close'); }); $('#my-end').datepicker(). on('changeDate.datepicker.amui', function(event) { if (event.date.valueOf() < startDate.valueOf()) { $alert.find('p').text('結束日期應大於開始日期!').end().show(); } else { $alert.hide(); endDate = new Date(event.date); $('#my-endDate').text($('#my-end').data('date')); } $(this).datepicker('close'); }); }); </script>
設置禁止選擇日期
初始化的時候通過 onRender
選項設置禁用日期。
v2.5
:onRender
方法增加了 viewMode
參數,以便更准確的處理不同視圖渲染。
viewMode
內部調用時使用了以下值:
0
: 天視圖1
: 月視圖2
: 年視圖
<div class="am-g"> <div class="am-u-sm-6"> 設置禁用日期<br/> <p><input type="text" class="am-form-field" placeholder="今天之前的日期被禁用" id="my-start-2"/></p> </div> <div class="am-u-sm-6"> 禁用日期<br/> <p><input type="text" class="am-form-field" id="my-end-2" /></p> </div> </div> <script> $(function() { var nowTemp = new Date(); var nowDay = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0).valueOf(); var nowMoth = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), 1, 0, 0, 0, 0).valueOf(); var nowYear = new Date(nowTemp.getFullYear(), 0, 1, 0, 0, 0, 0).valueOf(); var $myStart2 = $('#my-start-2'); var checkin = $myStart2.datepicker({ onRender: function(date, viewMode) { // 默認 days 視圖,與當前日期比較 var viewDate = nowDay; switch (viewMode) { // moths 視圖,與當前月份比較 case 1: viewDate = nowMoth; break; // years 視圖,與當前年份比較 case 2: viewDate = nowYear; break; } return date.valueOf() < viewDate ? 'am-disabled' : ''; } }).on('changeDate.datepicker.amui', function(ev) { if (ev.date.valueOf() > checkout.date.valueOf()) { var newDate = new Date(ev.date) newDate.setDate(newDate.getDate() + 1); checkout.setValue(newDate); } checkin.close(); $('#my-end-2')[0].focus(); }).data('amui.datepicker'); var checkout = $('#my-end-2').datepicker({ onRender: function(date, viewMode) { var inTime = checkin.date; var inDay = inTime.valueOf(); var inMoth = new Date(inTime.getFullYear(), inTime.getMonth(), 1, 0, 0, 0, 0).valueOf(); var inYear = new Date(inTime.getFullYear(), 0, 1, 0, 0, 0, 0).valueOf(); // 默認 days 視圖,與當前日期比較 var viewDate = inDay; switch (viewMode) { // moths 視圖,與當前月份比較 case 1: viewDate = inMoth; break; // years 視圖,與當前年份比較 case 2: viewDate = inYear; break; } return date.valueOf() <= viewDate ? 'am-disabled' : ''; } }).on('changeDate.datepicker.amui', function(ev) { checkout.close(); }).data('amui.datepicker'); }); </script>
調用方式
通過 Data API
添加 data-am-datepicker
屬性,並設置相關選項。
<input class="" data-am-datepicker="{format: 'yyyy-mm'}"/>
JS 調用
通過 $().datepicker(options)
調用。
$('#my-datepicker').datepicker({format: 'yyyy-mm'});
方法說明
方法名稱 | 描述 |
---|---|
.datepicker('open') |
顯示日歷 |
.datepicker('close') |
隱藏日歷 |
.datepicker('place') |
更新調用datepicker 的相對位置 |
.datepicker('setValue', value) |
設置Datepicker 新值 |
選項說明
format
: 日期格式,默認為yyyy-mm-dd
,可以選擇yy/mm/dd
、mm/dd
、dd/mm/yyyy
、dd/mm/yy
、dd/mm
等,中間分隔符可以使用/
、-
、。
viewMode
: 日期選擇器初始視圖模式,string
|integer
, 默認為 0,可選值days
、months
、years
或者對應的0
、1
、2
。minViewMode
: 日期選擇器初始視圖模式限制,string
|integer
, 默認為0
,可選值days
、months
、years
或者對應的0
、1
、2
。onRender
: 渲染日歷時調用的函數,比如.am-disabled
設置禁用日期。theme
: 設置日期顏色主題,可選值為success
、danger
、warning
,對應為綠色、紅色、橙色,默認為藍色。locale
: 語言設置, 可選值為zh_CN
、en_US
,默認為中文。autoClose
: 日期選定以后是否自動關閉日期選擇器, 默認為true
(僅在days
視圖有效)。
設置 viewMode
和 minViewMode
需要注意日期格式 format
的設置。
事件說明
選擇日期時,通過查看控制台選擇的日期。
$(function() { $('#doc-datepicker').datepicker(). on('changeDate.datepicker.amui', function(event) { console.log(event.date); }); });
事件名稱 | 描述 |
---|---|
changeDate.datepicker.amui |
日期改變時觸發 |
語言擴展
內置英語和簡體中文支持,默認為中文,要支持更多語言可以通過 Datepicker.locales
擴展。
設置語言:
<p> <input type="text" class="am-form-field" placeholder="YYYY-MM-DD" data-am-datepicker="{locale: 'en_US'}" readonly/> </p>
擴展語言:
<p> <input type="text" class="am-form-field" placeholder="來一丟丟 French" data-am-datepicker="{locale: 'fr', autoClose: 0}" readonly/> </p> <script> (function($) { $.AMUI && $.AMUI.datepicker && ($.AMUI.datepicker.locales.fr = { days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"], weekStart: 1 }); })(window.jQuery); </script>
Issue 列表
四、測試題-簡答題
1、amazeui中的各種js效果要怎么才能使用?
解答:需要jquery.js和amazeui.js一起才能使用 。
2、html中如何引入一個css?
解答:用link標簽,有個rel屬性是stylesheet,然后href是引入的css的地址,link rel="stylesheet" href="css/amazeui.min.css"。
3、html中如何引入一個js?
解答: javascript標簽,里面的src是要引入的js的路徑,和img標簽很像了,script src="js/jquery.min.js" script。
4、html中margin如何設置自動居中?
解答:需要先設置width,然后用margin:auto 。
5、html中的margin的參數是什么情況(有一個時,兩個,四個)?
解答: 四個:上又下左。兩個:上下 左右。一個:全部。
6、html中的border的幾個參數是什么情況?
解答: 依次是是邊框寬度,邊框樣式,邊框顏色。那說明是邊框寬度最重要
7、html邊框樣式中需要記住哪個屬性?
解答:ridge 。
8、html樣式中的點和#號分別代表什么?
解答:點號代表類,#號代表id 。
9、如何使用amazeui的日期js插件?
解答:在input上面加上data-am-datepicker 當然和 readonly一起配合使用效果更佳,form上面也可以加上data-am-validator 。
10、讓input不可以操作的兩個屬性是什么?
解答: readonly和disabled。
11、amazeui時間組件如何使用?
解答:日期組件上面有時間組件的github鏈接,而時間組件的github上面有使用的詳細說明 。
12、非 input
觸發元素如何使用amazeui的日期js插件?
解答:非 input>
觸發元素需增加 .am-datepicker-add-on
class。。結合 .am-input-group
使用,父類添加 class .am-datepicker-date
,非input>
觸發元素需增加 .am-datepicker-add-on
class。 span class="am-input-group-btn am-datepicker-add-on"
。
13、amazeui的日期js插件如何更改顏色?
解答:通過theme屬性,data-am-datepicker="{theme: 'success'}"
。
14、amazeui的日期js插件如何更改視圖(就是選擇的時候只顯示年,還是年月日一起顯示)?
解答:data-am-datepicker="{format: 'yyyy-mm-dd', viewMode: 'years'}"
。
15、amazeui的日期js插件有幾種視圖?
解答: 三種:days
: 顯示天(默認,months
: 顯示月 ,years
: 顯示年 。
16、amazeui的日期js插件更改多參數中間用什么符號連接?
解答:逗號,data-am-datepicker="{format: 'yyyy-mm-dd', viewMode: 'years'}"
。
17、amazeui的日期js插件如何限制視圖,比如限制只能選擇到月份?
解答:data-am-datepicker="{format: 'yyyy-mm', viewMode: 'years', minViewMode: 'months'}"
。
18、amazeui的日期js插件如何限制只能選擇到年份的時候的注意事項是什么?
解答:注意 format: 'yyyy '
里面 yyyy
后面多加一個空格。 data-am-datepicker="{format: 'yyyy ', viewMode: 'years', minViewMode: 'years'}"
。
19、amazeui的日期js插件如何用js操作?
解答:通過監聽自定義事件 changeDate
,可以在回調函數中進行驗證等操作。通過 $().data('date')
獲取改變后的日期。 。
$('#my-start').datepicker(). on('changeDate.datepicker.amui', function(event) { if (event.date.valueOf() > endDate.valueOf()) { $alert.find('p').text('開始日期應小於結束日期!').end().show(); } else { $alert.hide(); startDate = new Date(event.date); $('#my-startDate').text($('#my-start').data('date')); } $(this).datepicker('close'); });
20、jquery中如何帶事件event對象?
解答:參數傳進來即可,$('#my-start').datepicker().
on('changeDate.datepicker.amui', function(event)
{}。
21、amazeui的日期js插件可以設置禁止選擇日期么?
解答:可以,初始化的時候通過 onRender
選項設置禁用日期。 。
22、如何使用amazeui的日期js插件(兩種方法)?
解答:添加 data-am-datepicker
屬性,並設置相關選項,input class="" data-am-datepicker="{format: 'yyyy-mm'}"
。通過 $().datepicker(options)
調用。$('#my-datepicker').datepicker({format: 'yyyy-mm'});
。
23、amazeui的日期js插件如何設置語言?
解答:用locale屬性,data-am-datepicker="{locale: 'en_US'}"
。