您的位置:首页 > Web前端 > > 正文

datetimepicker怎么设置空值(浅谈amaze-ui中datepicker和datetimepicker注意的几点)

更多 时间:2021-10-22 07:44:34 类别:Web前端 浏览量:1848

datetimepicker怎么设置空值

浅谈amaze-ui中datepicker和datetimepicker注意的几点

点1:参考文档不能选错,amaze的默认文档是http://amazeui.shopxo.net/getting-started/,但是当我们要使用datetimepicker是就要使用https://github.com/amazeui/datetimepicker,
这就是我想吐槽的地方了,amaze竟然把datetimepicker放在一个不起眼的小角落里,这是大家需要注意的地方。

点2:amaze-ui的日期时间插件是真的不好看,可扩展性不太好,特别是在对时间进行控制的时候很麻烦。在我们的项目中能不用这个坚决不用,我这一次是在别人用了之后才使用这个的,
后来发现真费劲。

点3:三时间(datetimepicker)校验:

效果图:

datetimepicker怎么设置空值(浅谈amaze-ui中datepicker和datetimepicker注意的几点)

jsp关键代码:

  • <li class="inputItem">
        <li class="inputName">制卡时间</li>
         <input type="text" id="gender" name="gender" class="am-form-field data-input" readonly required placeholder="请选择">
     </li>
     <li class="inputItem">
         <li class="inputName">生效时间</li>
         <input type="text" id="startDate" name="startDate" class="am-form-field data-input" readonly required placeholder="请选择">
     </li>
     <li class="inputItem">
         <li class="inputName">过期时间</li>
         <input type="text" id="expDate" name="expDate" class="am-form-field data-input" readonly required placeholder="请选择">
     </li>
    
    
  • 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进行控制最小显示就行。

    到此这篇关于浅谈amaze-ui中datepicker和datetimepicker注意的几点的文章就介绍到这了,更多相关amaze-ui中datepicker和datetimepicker内容请搜索开心学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持开心学习网!