在选择框中重新填充日期

2023-11-22

我在 Rails 中创建了一个 date_select (它有 3 个选择框:一个代表年份,一个代表月份,一个代表日期)。

2 月 31 日在他们身上是相当令人困惑的。我希望能够只让选择框包含有效日期。我的意思是,当您选择二月时,31 日、30 日(以及某些年份的 29 日)将被删除,然后,当您选择一月时,它们会再次添加,依此类推。此外,我希望初始选择框仅填充所选月份的天数。


我假设你有三个选择的课程'day', 'month', 'year'。 然后使用这个JS:

function monthChanged() {
    var days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    var month = $('.month').val() - 1, year = +$('.year').val();
    var diff;

    // Check for leap year if Feb
    if (month == 1 && new Date(year, month, 29).getMonth() == 1) days[1]++;

    // Add/Remove options
    diff = $('.day option').length - (days[month] + 1);
    if (diff > 0) { // Remove
        $('.day option').slice(days[month] + 1).remove();
    } else if (diff < 0) { // Add
        for (var i = $('.day option').length; i <= days[month]; i++) {
            $('<option>').attr('value', i).text(i).appendTo('.day');
        }
    }
}

$(function () {
    monthChanged(); // On document ready
    $('.month').change(monthChanged); // On month change
    $('.year').change(monthChanged); // On year change (for leap years)
});

Demo: http://jsfiddle.net/FxBpB/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在选择框中重新填充日期 的相关文章

随机推荐

  • 如何在android上编写一个简单的视频播放器?

    我有 Android 上简单音频播放器的代码 但它不适用于视频 请指导我写一个简单的视频播放器 音频播放器的代码是 package com example helloplayer public class HelloPlayer exten
  • AWS s3列表对象与分页

    我想使用 aws s3 实现分页 对象 ms files 中有 500 个文件 但我想一次只检索 20 个文件 下次检索 20 个文件 依此类推 var params Bucket mystore in Delimiter Prefix s
  • 如何将 IB 中创建的自定义 UITableViewCell 类加载到 UITableView 中?

    我对此很陌生 所以请耐心等待 我在 IB 中有一个 xib 其中包含一个 UIScrollView 其中嵌入了一个 UITableView 我想将自定义 UITableViewCells 加载到 UITableView 中 我在 IB 中创
  • 散点图“最佳拟合”线的算法

    我正在使用 MSChart 控件用 C 编写一个小型应用程序来绘制 X 和 Y 数据点集的散点图 其中一些可能相当大 数百个数据点 想问是否有一个 标准 算法来绘制跨点的最佳拟合线 我正在考虑将 X 数据点划分为预定义数量的组 例如 10
  • C++程序崩溃时会自动释放内存吗?

    我在 Google C 编码标准中读到 Google 不使用异常 如果不使用异常 当程序发生错误时如何释放内存 例如 f 调用 g 如果 g 中出现错误 我应该释放 g 中分配的所有内存 然后对 f 调用异常 一旦 f 捕获异常 f 将释放
  • 随机化 Java 中读取的文本文件

    我正在尝试用 Java 读取一个文本文件 基本上是一组问题 有四个选择和一个答案 结构如下 question option a option b option c option d answer 我这样读起来没有问题 public clas
  • Maven 插件在构建过程中执行多次

    我有一个具有多个重叠配置文件的 Maven 项目 我想在每次构建开始时显示活动配置文件 所以我将以下内容放入pom xml
  • CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能触摸视图

    我在 Android 中遇到以下错误 CalledFromWrongThreadException 仅 创建的原始线程 视图层次结构可以触摸其视图 当我尝试更新 Activity 中的 Textview 时 似乎会发生这种情况 更新 Tex
  • ResultSet getFetchSize() 似乎不起作用?

    我遇到了问题getFetchSize 功能 我只需要知道 SQL 查询是否返回零行 我尝试过这个简单的声明 if rs getFetchSize 0 System out println HEADLINE where rs是属于Result
  • 动态添加和删除表行 - Android

    我正在尝试从 TableLayout 中动态添加和删除行 布局在 xml 文件中定义 我能够成功删除一行 但是当我调用相应的 addView 命令时什么也没有发生 table TableLayout findViewById R id ta
  • 将 MySql 日期时间戳转换为 JavaScript 日期格式

    有谁知道我如何获取MySQLdatetime数据类型值 例如YYYY MM DD HH MM SS并解析它或将其转换为在 JavaScript 中工作Date 函数 例如 Date YYYY MM DD HH MM SS 谢谢你 这里给出的
  • php - ftp_get - 警告:ftp_get():打开 BINARY 模式数据连接

    我正在尝试编写一个从 FTP 服务器下载文件的脚本 它们都相当大 每个接近 2GB 该脚本开始运行 但最终因上述错误而终止 与大小有关吗 有没有解决的办法 这是代码
  • Docker RUN 不会保留文件

    我有一个 Docker 问题 它不持久通过 RUN 启动命令 这是我的 Dockerfile FROM jenkins latest RUN echo foo gt var jenkins home toto ls alh var jenk
  • Tomcat NioEndpoint - 运行套接字处理器时出错

    在Spring Boot生产应用中 偶尔会抛出以下异常 o a t u n NioEndpoint Error running socket processor java util NoSuchElementException No val
  • 如何为重叠的 x 轴标签替换新行?

    当在 x 轴上绘制长文本因子时 ggplot 的效果并不好 我想换一条新线 以便更清晰 因此下图中的红色标记标签应该向下一行 我在 中找到了这个问题的答案在这里评论但无法工作 代码是 scale x discrete labels func
  • 在Java中实现阻塞函数调用

    在 Java 中实现阻塞函数调用的推荐 最佳方法是什么 稍后可以通过另一个线程的调用来解除阻塞 基本上我想在一个对象上有两个方法 其中第一个调用会阻塞任何调用线程 直到另一个线程运行第二个方法 public class Blocker An
  • javascript 的 Promise、事件循环和作业队列

    考虑以下代码 function foo console log foo new Promise function resolve reject setTimeout function resolve RESOLVING 5000 then
  • OSMdroid 添加自定义图标到 ItemizedOverlay

    我正在使用 ItemizedIconOverlay 类 当前正在地图上显示事件以及具有相同默认图标的用户位置 如何更改每个叠加层的图标集 是否有类似于 google maps 示例的内容 drawable getResources getD
  • Keras:类型错误:无法使用 KerasClassifier pickle _thread.lock 对象

    import pandas as pd import numpy as np import matplotlib pyplot as plt dataset pd read csv Churn Modelling csv X dataset
  • 在选择框中重新填充日期

    我在 Rails 中创建了一个 date select 它有 3 个选择框 一个代表年份 一个代表月份 一个代表日期 2 月 31 日在他们身上是相当令人困惑的 我希望能够只让选择框包含有效日期 我的意思是 当您选择二月时 31 日 30