欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

layui時間控件選擇時間范圍的實(shí)現(xiàn)方法

 更新時間:2019年09月28日 10:49:51   作者:鍵盤俠007  
今天小編就為大家分享一篇layui時間控件選擇時間范圍的實(shí)現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

解決layui時間控件清空之后無法正常使用的問題,以及時間范圍的選擇

共有兩種解決方式:

方式一(layui 1.x):

html代碼:

<div class="layui-inline">
  <div class="layui-input-inline">
      <input type="text" name="start_time" class="layui-input" id="start_time" 
         placeholder="開始時間(修改時間)">
   </div>
 </div>
 <div class="layui-inline">
   <div class="layui-input-inline">
     <input type="text" name="end_time" class="layui-input" id="end_time" 
         placeholder="結(jié)束時間(修改時間)">
   </div>
 </div>

js代碼:

var start = {
   istime: true,
   format: 'YYYY-MM-DD hh:mm:ss',
   max: '2099-06-16 23:59:59',
   istoday: true,
   choose: function (datas) {
     end.min = datas; //開始日選好后,重置結(jié)束日的最小日期
   }
 };
 
 var end = {
   istime: true,
   format: 'YYYY-MM-DD hh:mm:ss',
   max: '2099-06-16 23:59:59',
   istoday: true,
   choose: function (datas) {
     start.max = datas; //結(jié)束日選好后,重置開始日的最大日期
   }
 };
 
 document.getElementById('start_time').onclick = function () {
   start.elem = this;
   laydate(start);
 };
 document.getElementById('end_time').onclick = function () {
   end.elem = this;
   laydate(end);
 };

方式二(layui 2.x):

html代碼

<div class="layui-inline">
    <div class="layui-input-inline">
       <input type="text" name="start_time" class="layui-input" id="start_time" 
           placeholder="開始時間(修改時間)">
    </div>
  </div>
  <div class="layui-inline">
    <div class="layui-input-inline">
      <input type="text" name="end_time" class="layui-input" id="end_time" 
          placeholder="結(jié)束時間(修改時間)">
    </div>
  </div>

js代碼

layui.use([ 'laydate'], function(){
  var $ = layui.$;
  var laydate = layui.laydate;
  var nowTime = new Date().valueOf();
  var max = null;
 
    var start = laydate.render({
    elem: '#start_time',
    type: 'datetime',
    max: nowTime,
    btns: ['clear', 'confirm'],
    done: function(value, date){
      endMax = end.config.max;
      end.config.min = date;
      end.config.min.month = date.month -1;
    }
  });
  var end = laydate.render({
    elem: '#end_time',
    type: 'datetime',
    max: nowTime,
    done: function(value, date){
      if($.trim(value) == ''){
        var curDate = new Date();
        date = {'date': curDate.getDate(), 'month': curDate.getMonth()+1, 'year': curDate.getFullYear()};
      }
      start.config.max = date;
      start.config.max.month = date.month -1;
    }
});

根據(jù)開始時間 動態(tài)限制結(jié)束時間 知識點(diǎn)

type: 'datetime', 是帶時分秒的 date 是不帶時分秒的

layui.use('laydate', function(){
  /* lay('.layui-input').each(function(){
  laydate.render({
   elem: this
   ,trigger: 'click'
   ,change: function(value, date, endDate){
    console.log(value); //得到日期生成的值,如:2017-08-18
    console.log(date); //得到日期時間對象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
    console.log(endDate); //得結(jié)束的日期時間對象,開啟范圍選擇(range: true)才會返回。對象成員同上。
   }
  });
 }); */
 var $ = layui.$;
   var laydate = layui.laydate;
  var nowTime = new Date().valueOf();
   var max = null;
    var start = laydate.render({
     elem: '#start_time',
     type: 'datetime',
     btns: ['clear', 'confirm'],
     done: function(value, date){
       endMax = end.config.max;
       end.config.min = date;
       end.config.min.month = date.month -1;
     },
     change: function(value, date, endDate){
     var timestamp2 = Date.parse(new Date(value));
  timestamp2 = timestamp2 / 1000;
       end.config.min = timestamp2;
       end.config.min.month = date.month -1;
   }
   });
   var end = laydate.render({
     elem: '#end_time',
     type: 'date',
     done: function(value, date){
     console.log(" ====== "+date);
       if($.trim(value) == ''){
         var curDate = new Date();
         date = {'date': curDate.getDate(), 'month': curDate.getMonth()+1, 'year': curDate.getFullYear()};
       }
       start.config.max = date;
       start.config.max.month = date.month -1;
     }
   });
 });

通過以上代碼,就已經(jīng)可以實(shí)現(xiàn)動態(tài)改變開始時間最大值與結(jié)束時間最小值的改變了。

下面來說一下容易遇到的坑:

坑一 :laydate.render無法重復(fù)渲染,當(dāng)laydate.render對應(yīng)一個elem已經(jīng)渲染過一次之后,我們是無法通過再次渲染來修改其中的max值與min值的。

坑二 :startDate.config.max與endDate.config.min是一個對象,不是一個字符串,在網(wǎng)上看到一個人不負(fù)責(zé)任的給了這么一句話,endDate.config.min="2017-01-01";說可以設(shè)置,我居然信了他的邪掉進(jìn)坑里半天。實(shí)際這里得到的是一個對象,不同于在我們渲染時的min與max了,直接將字符串賦值必然沒有效果。

坑三:dates的格式雖然與endDate.config.min格式相同但是直接讓endDate.config.min=dates你會發(fā)現(xiàn)并不是你想要的結(jié)果,是因?yàn)殡m然dates中的數(shù)據(jù)是你選擇的日期,可是endDate.config.min中設(shè)置的month的值卻比你輸入的month的值大了一個月,因此假如你選的開始日期是11月13日,直接賦值給了endDate.config.min之后你會發(fā)現(xiàn)結(jié)束日期的最小日期變成了12月13日,因此我們需要將dates中的月份值減一后再賦值給endDate.config.min

以上這篇layui時間控件選擇時間范圍的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript數(shù)組去重3種方法的性能測試與比較

    javascript數(shù)組去重3種方法的性能測試與比較

    面試題中有一題數(shù)組去重,首先想到的是對象存鍵值的方法可是遇到不同類型又能轉(zhuǎn)換成同樣的字符串的就完了接下來為大家介紹下雙重循環(huán)/存鍵值和類型實(shí)現(xiàn)去重,感興趣的各位可以參考下哈
    2013-03-03
  • uni-app返回上一個頁面并進(jìn)行頁面刷新的方法

    uni-app返回上一個頁面并進(jìn)行頁面刷新的方法

    這篇文章主要給大家介紹了關(guān)于uni-app返回上一個頁面并進(jìn)行頁面刷新的相關(guān)資料,返回上一頁面在uniapp有多種方法,文中給出了詳細(xì)的圖文示例,需要的朋友可以參考下
    2023-07-07
  • js實(shí)現(xiàn)按鈕加背景圖片常用方法

    js實(shí)現(xiàn)按鈕加背景圖片常用方法

    這篇文章主要介紹了js實(shí)現(xiàn)按鈕加背景圖片常用方法,羅列了js事件觸發(fā)控制背景圖片、css樣式控制以及圖片按鈕三種方法,非常具有實(shí)用價值,需要的朋友可以參考下
    2014-11-11
  • javascript設(shè)置頁面背景色及背景圖片的方法

    javascript設(shè)置頁面背景色及背景圖片的方法

    這篇文章主要介紹了javascript設(shè)置頁面背景色及背景圖片的方法,涉及JavaScript動態(tài)操作頁面元素屬性的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • 拿捏javascript對象增刪改查應(yīng)用及示例

    拿捏javascript對象增刪改查應(yīng)用及示例

    “撩過”c++的對象,“拿捏”了python的對象,那么今天我們看看javascript中的對象到底是什么,看能不能一次性拿下,不行的話就多來幾次,想做“海王”就多物色幾門語言的對象,多new幾個,最終你會發(fā)現(xiàn)都差不多
    2022-03-03
  • JavaScript設(shè)計模式之代理模式介紹

    JavaScript設(shè)計模式之代理模式介紹

    這篇文章主要介紹了JavaScript設(shè)計模式之代理模式介紹,代理模式顧名思義就是用一個類來代替另一個類來執(zhí)行方法功能,需要的朋友可以參考下
    2014-12-12
  • iphone safari不支持position fixed的解決方法

    iphone safari不支持position fixed的解決方法

    最近一直在做移動web開發(fā),開發(fā)過程中遇到了許多問題,mobile safari不支持position: fixed就是一件很頭疼的事情
    2012-05-05
  • 不用typsescript如何使用類型增強(qiáng)功能

    不用typsescript如何使用類型增強(qiáng)功能

    這篇文章主要給大家介紹了關(guān)于不用typsescript如何使用類型增強(qiáng)功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 多個表單中如何獲得這個文件上傳的網(wǎng)址實(shí)現(xiàn)js代碼

    多個表單中如何獲得這個文件上傳的網(wǎng)址實(shí)現(xiàn)js代碼

    假設(shè)一個網(wǎng)頁里有多個表單,其中一個表單里有文件上傳,問題是如何獲得這個文件上傳的網(wǎng)址呢,接下來為大家介紹下實(shí)現(xiàn)的js代碼,感興趣的朋友可以參考下哈,希望可以幫助到你
    2013-03-03
  • JavaScript分析、壓縮工具JavaScript Analyser

    JavaScript分析、壓縮工具JavaScript Analyser

    這篇文章主要介紹了JavaScript分析、壓縮工具JavaScript Analyser,需要的朋友可以參考下
    2014-12-12

最新評論