当用户 Select 日期以显示它所在的日期时,我会try 添加一个隐藏字段.我查看了有关使用日期格式的文档,但似乎无法呈现它.因此,日期显示在字段中,如:01/01/2024,但我希望 Select 将日期添加到字段值中,或者将其作为隐藏字段显示在其他位置.IE:01/01/2024星期一

https://jqueryui.com/datepicker/ jQuery DateTimePicker

$("input.Date").datepicker({
    onSelect: function (dateText, inst) {
        $("#" + this.id + "_month").attr("value", new Date(dateText).getMonth() + 1);
        $("#" + this.id + "_day").attr("value", new Date(dateText).getDate());
        $("#" + this.id + "_year").attr("value", new Date(dateText).getFullYear());
        $("#" + this.id + "_changeTime").val(Date.now()).trigger('change');
    },
    changeMonth: true,
    changeYear: true,
    yearRange: '1900:2050',
    showButtonPanel: true,
    showOn: 'both',
    buttonText: 'Date',
    buttonImageOnly: true,
    closeText: 'Close',
    showAnim: '',
    dayNamesShort: true
});

推荐答案

组合this question中的答案并应用于jQuery-UI Datepicker,可以通过两种方式获得工作日名称:使用数组或toLocaleTimeString()

给出更新的代码段,使用两种方法:

$("input.date").datepicker({
  onSelect: function(dateText, inst) {
    $("#" + this.id + "_changeTime").val(Date.now()).trigger('change');

    var currentDate = $(this).datepicker("getDate");

    var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
    var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];

    var day = days[currentDate.getDay()];
    var month = months[currentDate.getMonth()];

    $("#" + this.id + "_day").attr("value", day);
    $("#" + this.id + "_month").attr("value", month);

    var options = {
      weekday: 'long',
      year: 'numeric',
      month: 'long',
      day: 'numeric',
      hour: '2-digit',
      minute: '2-digit',
      second: '2-digit',
      hour12: false
    };
    $("#" + this.id + "_date").attr("value", currentDate.toLocaleTimeString('en-us', options));
  },
  changeMonth: true,
  changeYear: true,
  yearRange: '1900:2050',
  showButtonPanel: true,
  showOn: 'both',
  buttonText: 'Date',
  buttonImageOnly: true,
  closeText: 'Close',
  showAnim: '',
  dayNamesShort: true
});
<link href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet" />

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script>

<input class='date' id='dt'>
<input id='dt_month'>
<input id='dt_day'>
<input id='dt_date'>
<input id='dt_changeTime'>

虽然初始配置可能比较困难,但我建议使用带有选项的toLocaleTimeString,因为您可以通过更改区域设置字符串来简单地更改区域设置,而不必添加您自己的翻译.

Jquery相关问答推荐

如何根据另一个 radio Select 并切换?

退出 jquery.each 循环后

jQuery .append() 创建两个元素而不是一个

用 jQuery/JavaScript 检测数字或字母?

Jquery $(this) 子 Select 器

何时执行 $(document).ready 回调?

如何使用 jQuery 将分钟转换为小时/分钟并添加各种时间值?

jQuery/JavaScript 碰撞检测

javascript:检测滚动结束

动态设置 iframe src

字符串化(转换为 JSON)具有循环引用的 JavaScript 对象

捕获在页面任意位置按下的 Enter 键

如何使用 JQuery 创建一个新的 img 标签,其中包含来自 JavaScript 对象的 src 和 id?

获取没有在css中设置高度的div的高度

如何通过jQuery函数仅获取直接子元素

如何在 ReactJS 中使用 JQuery

如何禁用由子元素触发的 mouseout 事件?

在 Javascript/jQuery 中,(e) 是什么意思?

IE 中带有 jQ​​uery ajax 调用的无传输错误

使用 Chosen 插件更改 Select 中的 Select