漂亮 波斯日期时间选择器 Bootstrap 5/4/3

  • 源码大小:1.09MB
  • 所需积分:1积分
  • 源码编号:19JP-3142
  • 浏览次数:938次
  • 最后更新:2023年05月10日
  • 所属栏目:时间和时钟
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

一个漂亮的日期和时间jQuery插件,使您能够从基于Bootstrap popover组件的日历弹出窗口中选择波斯语(jalali)日期和/或日期范围。

依赖项:

  • jQuery(引导程序4和3版本需要)
  • 引导程序5、引导程序4或引导程序3框架
  • Jalali JavaScript(Bootstrap 3版本需要)

参见:

  • jQuery插件将英文数字转换为波斯语-persianumber
  • 用于波斯日期的jQuery日期选择器插件-波斯日期选择器
  • jQuery波斯语日期选择器插件-Pwt日期选择器

如何使用它:

1.在文档中加载jQuery JavaScript库和其他所需资源。

  1. <!-- Bootstrap 5/4/3 -->
  2. <link href="/path/to/bootstrap.min.css" rel="stylesheet">
  3. <script src="/path/to/bootstrap.bundle.min.js"></script>
  4. <!-- Required For Bootstrap 4/3 -->
  5. <script src="/path/to/jquery.min.js"></script>
  6. <!-- Required For Bootstrap 3 -->
  7. <script src="/path/to/jalaali.js"></script>

2.在文档中加载MD.BootstrapPersianDateTimePicker插件的JS和CSS文件。

  1. <!-- Bootstrap 5 -->
  2. <link rel="stylesheet" href="mds.bs.datetimepicker.style.css">
  3. <script src="mds.bs.datetimepicker.js"></script>
  4. <!-- Bootstrap 4/3 -->
  5. <link rel="stylesheet" href="jquery.Bootstrap-PersianDateTimePicker.css">
  6. <script src="jquery.Bootstrap-PersianDateTimePicker.js"></script>

3.在您指定的输入字段上初始化日期选择器。

  1. <!-- Bootstrap 5 -->
  2. <span id="dp-example" class="input-group-text cursor-pointer">ANY TRIGGER ICON</span>
  3. <input type="text" placeholder="Date Picker Text" data-name="dp-example-text" class="form-control">
  4. <input type="text" placeholder="Date Picker Date" data-name="dp-example-date" class="form-control">
  5. <!-- Bootstrap 4/3 -->
  6. <div class="input-group-prepend">
  7. <span class="input-group-text cursor-pointer" id="dp-example">ANY TRIGGER ICON</span>
  8. </div>
  9. <input type="text" id="dp-example-text" class="form-control" placeholder="Persian Calendar Text" aria-label="date1" aria-describedby="date1">
  10. <input type="text" id="dp-example-date" class="form-control" placeholder="Persian Calendar Date" aria-label="date11" aria-describedby="date11">
  1. // Bootstrap 5
  2. const dpInstance = new mds.MdsPersianDateTimePicker(document.getElementById('dp-example'), {
  3. targetTextSelector: '[data-name="dp-example-text"]',
  4. targetDateSelector: '[data-name="dp-example-date"]',
  5. });
  6.  
  7. // Bootstrap 4/3
  8. $('#dp-example').MdPersianDateTimePicker({
  9. targetTextSelector: '#dp-example-text',
  10. targetDateSelector: '#dp-example-date',
  11. });

4.具有默认值的完整插件选项。

  1. // switches between English number or Persian number
  2. englishNumber: false,
  3.  
  4. // "auto" | "top" | "bottom" | "left" | "right"
  5. placement: 'bottom',
  6.  
  7. // trigger event
  8. trigger: 'click',
  9.  
  10. // enables time picker
  11. enableTimePicker: false,
  12.  
  13. // text selector
  14. targetTextSelector: '',
  15.  
  16. // date selector
  17. targetDateSelector: '',
  18.  
  19. // enables date range selection
  20. toDate: false,
  21. fromDate: false,
  22.  
  23. // group ID
  24. groupId: '',
  25.  
  26. // disables the date picker
  27. disabled: false,
  28.  
  29. // text format
  30. // yyyy/MM/dd HH:mm:ss
  31. textFormat: '',
  32.  
  33. // date formart
  34. // yyyy/MM/dd HH:mm:ss
  35. dateFormat: '',
  36.  
  37. // is Gregorian
  38. isGregorian: false,
  39.  
  40. // is persian number
  41. persianNumber: false.
  42.  
  43. // displays in line
  44. inLine: false,
  45.  
  46. // selected date
  47. // new Date('2018/9/30')
  48. selectedDate: undefined,
  49.  
  50. // selected range date as JavaScript Date object
  51. // [new Date('2020/8/5'), new Date('2020/8/15')]
  52. selectedRangeDate: [],
  53.  
  54. // Selected date to start calendar from it as JavaScript Date object
  55. selectedDateToShow: new Date(),
  56.  
  57. // months to show
  58. monthsToShow: [0, 0],
  59.  
  60. // year offset
  61. yearOffset: 15,
  62.  
  63. // holidays
  64. // [new Date(), new Date(2017, 3, 2)]
  65. holiDays: [],
  66.  
  67. // disabled dates
  68. disabledDates: [],
  69.  
  70. // disable days
  71. disabledDays: [],
  72.  
  73. // special days
  74. specialDates: [],
  75.  
  76. // disables days before/after today
  77. disableBeforeToday: false,
  78. disableAfterToday: false,
  79.  
  80. // disables days before/after date
  81. disableBeforeDate: undefined,
  82. disableAfterDate: undefined,
  83.  
  84. // enables range selecton
  85. rangeSelector: false,
  86. rangeSelectorStartDate: undefined,
  87. rangeSelectorEndDate: undefined,
  88. rangeSelectorMonthsToShow: [0,0],
  89.  
  90. // enables modal mode
  91. modalMode: false,
  92.  
  93. // on view change
  94. calendarViewOnChange: function(date){
  95. // ...
  96. },
  97.  
  98. // on day click
  99. onDayClick: function(event){
  100. // ...
  101. },

5.API方法。

  1. // For Bootstrap 5 version
  2. // use instance.methodName();
  3.  
  4. // gets selected date text
  5. $('#textbox').MdPersianDateTimePicker('getText');
  6.  
  7. // gets selected date
  8. $('#textbox').MdPersianDateTimePicker('getDate');
  9.  
  10. // gets date range
  11. $('#textbox').MdPersianDateTimePicker('getDateRange');
  12.  
  13. // sets a new date
  14. $('#textbox').MdPersianDateTimePicker('setDate', new Date(2018, 12, 24));
  15.  
  16. // sets a new date range
  17. $('#textbox').MdPersianDateTimePicker('setDateRange', new Date(2018, 11, 30), new Date(2018, 12, 25));
  18.  
  19. // clears selected date
  20. $('#textbox').MdPersianDateTimePicker('clearDate');
  21.  
  22. // sets persian date
  23. $('#textbox').MdPersianDateTimePicker('setDatePersian', {year: 1397, month: 1, day: 1, hour: 0, minute: 0, second: 0});
  24.  
  25. // hides the date time picker
  26. $('#textbox').MdPersianDateTimePicker('hide');
  27.  
  28. // shows the date time picker
  29. $('#textbox').MdPersianDateTimePicker('show');
  30.  
  31. // toggles the date time picker
  32. $('#textbox').MdPersianDateTimePicker('toggle');
  33.  
  34. // disables the date time picker
  35. $('#textbox').MdPersianDateTimePicker('disable');
  36.  
  37. // enables the date time picker
  38. $('#textbox').MdPersianDateTimePicker('enable');
  39.  
  40. // update position
  41. $('#textbox').MdPersianDateTimePicker('updatePosition');
  42.  
  43. // update selected date text
  44. $('#textbox').MdPersianDateTimePicker('updateSelectedDateText');
  45.  
  46. // dispose date picker
  47. $('#textbox').MdPersianDateTimePicker('dispose');
  48.  
  49. // gets popover instance
  50. $('#textbox').MdPersianDateTimePicker('getBsPopoverInstance');
  51.  
  52. // gets modal instance
  53. $('#textbox').MdPersianDateTimePicker('getBsModalInstance');
  54.  
  55. // updates an option
  56. $('#textbox').MdPersianDateTimePicker('updateOptions', option, value);
  57.  
  58. // updates options
  59. $('#textbox').MdPersianDateTimePicker('updateOptions', {...});
  60.  
  61. // gets date picker instance
  62. $('#textbox').MdPersianDateTimePicker('getInstance');
  63.  
  64. // changes type
  65. $('#textbox').MdPersianDateTimePicker('changeType', /isGregorian/ true, /* englishNumber */ true);
  66.  
  67. // sets new options
  68. $('#textbox').MdPersianDateTimePicker('setOption', 'yearOffset', 5);
  69.  
  70. // destroy
  71. $('#textbox').MdPersianDateTimePicker('destroy');
  72.  
  73. // convert Date To String
  74. $('#textbox').MdPersianDateTimePicker('convertDateToString', date: new Date(), isGregorian: false, format: 'yyyy/MM/dd');
  75.  
  76. // convert Date To Jalali
  77. $('#textbox').MdPersianDateTimePicker('convertDateToJalali', new Date());

6.在视图更改时触发一个功能。

  1. $('#textbox').MdPersianDateTimePicker({
  2. calendarViewOnChange: function(selectedDateToShow){
  3. // do something
  4. }
  5. });

7.点击日期时触发一个函数。

  1. $('#textbox').MdPersianDateTimePicker({
  2. onDayClick: function(event){
  3. // do something
  4. }
  5. });

更新日志:

2023-02-21

  • v4.2.3:改进

2022-08-13

  • v4.2.1:改进

2021-10-18

  • v4.1.1:添加了persianNumber选项

2021-10-02

  • v4.0.0版本:使用Bootstrap 5并删除jQuery;重写所有代码,提高性能

2021-06-03

  • v3.11.5:错误修复

2021-05-16

  • v3.11.4:代码改进

2021-05-14

  • v3.11.0:添加onDayClick事件

2021-02-27

  • v3.10.0:删除一些错误

2021-01-10

  • v3.10.0:将选定日期添加到显示

2020-09-13

  • v3.9.2:错误修复;添加selectedRangeDate属性

2020-08-16

  • v3.8.0:添加selectedRangeDate属性

2020-07-13

  • v3.8.0:添加了模态模式

2020-07-12

  • v3.7.4:修复Miladi TimePicker中的一个错误

2020-06-24

  • v3.7.3:错误修复

2020-06-04

  • v3.7.2:更新到[电子邮件保护]

2019-10-02

  • v3.7.1:更新到〔emailprotected〕

2019-10-02

  • v3.6.3:错误修复

2019-08-25

  • v3.6.1:错误修复

2019-07-21

  • v3.6.0:添加calendarViewOnChange事件

2019-07-14

  • v3.5.0:添加特殊日期选项

2019-07-13

  • v3.4.8:已修复错误

2019-06-03

  • v3.4.7:添加销毁方法

2019-05-26

  • v3.4.4:修复内联模式下的一个错误

2019-05-20

  • v3.4.1:更新程序包

2019-05-07

  • v3.4.1:添加禁用天数选项

2019-04-13

  • 版本3.4.0

2018-12-17

  • Bug修复

2018-11-20

  • 添加解析器

2018-11-18

  • 使现代化

2018-11-03

  • v3.2.6:一些变化;错误修复程序

2018-10-16

  • v3.2.5:修复MonthDropDown中的一个错误

2018-10-10

  • 修复disabledDates中的一个错误

2018-10-02

  • 添加解析器

2018-09-30

  • 添加了更多功能。

2018-09-15

  • 在设定时间内修复一个错误

2018-09-12

  • 错误修复

2018-09-11

  • 添加日期范围支持

2018-09-10

  • 错误修复和更新

2018-06-19

  • 错误修复

2018-03-15

  • 添加了内联模式

2018-02-19

  • 更改要在npm上传的版本

2018-01-28

  • 使现代化

2017-09-23

  • 使现代化

2017-05-13

  • 使现代化

2017-01-16

  • 使现代化

2016-10-30

  • 使现代化

2016-09-23

  • 使现代化

2016-09-17

  • 使现代化

2016-08-14

  • 错误修复

2016-05-21

  • 错误修复

2016-01-27

  • 将“禁用”添加到设置中

预览截图