amaze-ui时间插件

本文主要围绕Amaze UI时间插件展开。指出参考文档易选错,datetimepicker文档位置不起眼;该插件外观不佳、可扩展性差,时间控制麻烦。还给出三时间校验的关键代码,提醒注意minView用法,并建议开发中统一使用datetimepicker,其通用性和时间范围控制更优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 点1:参考文档不能选错,amaze的默认文档是http://amazeui.org/javascript/datepicker,但是当我们要使用datetimepicker是就要使用https://github.com/amazeui/datetimepicker
    这就是我想吐槽的地方了,amaze竟然把datetimepicker放在一个不起眼的小角落里,这是大家需要注意的地方。
  • 点2:amaze-ui的日期时间插件是真的不好看,可扩展性不太好,特别是在对时间进行控制的时候很麻烦。在我们的项目中能不用这个坚决不用,我这一次是在别人用了之后才使用这个的,
    后来发现真费劲。
  • 点3:三时间(datetimepicker)校验:

效果图:
在这里插入图片描述

jsp关键代码:

<div class="inputItem">
    <div class="inputName">制卡时间</div>
     <input type="text" id="gender" name="gender" class="am-form-field data-input" readonly required placeholder="请选择">
 </div>
 <div class="inputItem">
     <div class="inputName">生效时间</div>
     <input type="text" id="startDate" name="startDate" class="am-form-field data-input" readonly required placeholder="请选择">
 </div>
 <div class="inputItem">
     <div class="inputName">过期时间</div>
     <input type="text" id="expDate" name="expDate" class="am-form-field data-input" readonly required placeholder="请选择">
 </div>

js校验代码:
为了使大家看的清楚,这里我使用一种比较巧妙的手法,因为是三日期校验,设置开始时间参数只能是setStartTime,设置结束参数只能是setEndTime,所以不能在jq的入口函数进行初始化工作,需要在jq的入口函数中调用两个函数进行初始化,代码如下:

initDatePicker = function () {
   //日期插件初始化
   $('#gender').datetimepicker({
       language: 'zh-CN',
       format: 'yyyy-mm-dd hh:ii:ss',
       minView: 2
       //pickerPosition: "bottom-left"
   }).on("changeDate", function (ev) {  //值改变事件
       if (ev.date) {
           $("#startDate").datetimepicker('setStartDate', new Date(ev.date.valueOf()));
       } else {
           $("#startDate").datetimepicker('setStartDate', null);
       }
   });
   $('#startDate').datetimepicker({
       language: 'zh-CN',
       format: 'yyyy-mm-dd hh:ii:ss',
       minView: 2
       //pickerPosition: "bottom-left"
   }).on("changeDate", function (ev) {
       if (ev.date) {
           $("#gender").datetimepicker('setEndDate', new Date(ev.date.valueOf()));
       } else {
           $("#gender").datetimepicker('setEndDate', new Date());
       }
   });
   $('#gender,#startDate').click(function () {
       $(this).datetimepicker("show");
   })
};
initDatePicker1 = function () {
    $('#startDate').datetimepicker({
        language: 'zh-CN',
        format: 'yyyy-mm-dd hh:ii:ss',
        minView: 2
        //pickerPosition: "bottom-left"
    }).on("changeDate", function (ev) {
        if (ev.date) {
            $("#expDate").datetimepicker('setStartDate', new Date(ev.date.valueOf()));
        } else {
            $("#expDate").datetimepicker('setStartDate', new Date());
        }
    });
    $('#expDate').datetimepicker({
        language: 'zh-CN',
        format: 'yyyy-mm-dd hh:ii:ss',
        minView: 2
        //pickerPosition: "bottom-left"
    }).on("changeDate", function (ev) {
        if (ev.date) {
            $("#startDate").datetimepicker('setEndDate', new Date(ev.date.valueOf()));
        } else {
            $("#startDate").datetimepicker('setEndDate', null);
        }
    });
    $('#startDate,#expDate').click(function () {
        $(this).datetimepicker("show");
    })
}

注意datetimepicker中的minView的用法,它是控制插件的最小显示显示视图,minView=2表示最小的选择是多好号,没有时间的选择了,默认情况是选择到秒的;而datepicker中对应的设置是minViewMode,这里就把我坑了一次。

最后进行补充,在开发中如果用amaze的时间插件,我建议统一使用datetimepicker,他相对datepicker更具通用性,在时间范围的控制上更灵活,我们只需使用minView进行控制最小显示就行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值