首页 > 解决方案 > 通过触发 JavaScript 日期事件更改变量

问题描述

嗨,我正在做一个客户想要在下午 12:00 更新变量的项目

技术:

  1. 代码点火器 3
  2. 引导 4 js
  3. JQuery UI 任何帮助将不胜感激!

标签: javascriptjquerybootstrap-4moment-timezone

解决方案


我查看了Huhammad Ahmod的代码,它确实帮助我解决了这个问题。顺便说一句,这是我得出的问题的解决方法。 索引.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;
}

});

小于 10 用于修复输入 type="Date" 给出的 YYYY-MM-DD 错误的格式问题


推荐阅读