簡體   English   中英

通過觸發 JavaScript 日期事件更改變量

[英]Change variable by firing JavaScript date event

嗨,我正在做一個項目,客戶想在 12:00 PM 更新一個變量

技術:

  1. CodeIgniter 3
  2. 引導程序 4 js
  3. JQuery UI 任何幫助將不勝感激!

這是如何完成此操作的基本指南...

// Set the next delivery date
var NextDelivery = null;

function CalcTimeOut(){
   var cutOffTime = new Date();
   var currentTime = new Date();
   var difference = null;

   if(cutOffTime.getHours() < 12) {
      // If we are before 12 we can deliver today
       cutOffTime.setHours(12,0,0,0);
      NextDelivery = new Date();
   } else {
      // Set new cutoff time
      cutOffTime.setHours(36,0,0,0);
      // If we are after 12 we can only deliver tomorrow.
      var currentDate = new Date();
      currentDate.setDate(currentDate.getDate() + 1);
      currentDate.setHours(0,0,0,0);
      NextDelivery = currentDate;
   }
   var difference = (cutOffTime.getTime() - currentTime.getTime());
   // Recalculate if we need to...
   setTimeout(function(){
      CalcTimeOut();
   }, difference);
}

// Call from where ever you need to.
CalcTimeOut();

我查看了Huhammad Ahmod的代碼,它確實幫助我解決了這個問題。 順便說一下,這里是我導出的問題的修復。 index.html

    <!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
    <script src="app.js"></script>
    <title>Document</title>
</head>
<body>
<input type="date" id="date">
</body>
</html>

app.js中我做了以下事情:

$(document).ready(function (){
// Set the next delivery date
   var NextDelivery = null;

   $('#date').change(function (){
   // // CalcTimeOut();
   // //    today();
   //    difference();
      Updated();
});
function Updated(){
      var current=new Date();
      var selected=document.getElementById('date').value;
      var selectedDate=new Date(selected);
      var uDate;
      if (selectedDate.getDate()==current.getDate() && selectedDate.getMonth()==current.getMonth()){

          if (current.getHours()<12){

              uDate=current.getDate();
         }
         else{
            uDate=current.getDate()+1;
         }
      }
      else{
         uDate=selectedDate.getDate();
      }
      var uMonth;
      if (selectedDate.getMonth()+1<10){
         var next=selectedDate.getMonth()+1;
         uMonth='0'+next;
      }
      else {

            uMonth = selectedDate.getMonth() + 1;
      }
      if (uDate<10){
         uDate='0'+uDate;
      }
      var orderDate = selectedDate.getFullYear()+'-'+uMonth+'-'+uDate;
      console.log(orderDate);
      document.getElementById('date').value=orderDate;
}

});

Less then 10 用於修復 input type="Date" 給出的 YYYY-MM-DD 錯誤的格式問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM