纯JS实现单独年月日历选择

这篇博客介绍了如何使用纯JavaScript实现单独的年月日历选择功能。作者分享了一个简单的Demo,虽然代码基础,但希望能对初学者有所帮助。内容包括HTML和JS代码示例。
摘要由CSDN通过智能技术生成

纯JS实现单独年月日历选择

一般情况下,只是单独年日历或者年月日历这样的时间空间蛮少的,jeDate这个时间控件第一次用,感觉挺全面的,我自己闲着无聊也自己写个小demo实现年月选择,虽然写的很垃圾,但还是记录下,如果有用的话,希望能帮到别人,下面,直接上代码
*

html代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    //需要引入的只有一个jq,这里换下路径就可以了
    <script src="../style/lib/jquery/jquery.min.js"></script>
    <style>
    //这里是我写的一些样式,
        input {
            padding-left: 5px;
            box-sizing: border-box;
            width: 250px;
            height: 38px;
            line-height: 1.3;
            line-height: 38px\9;
            border-width: 1px;
            border-style: solid;
            background-color: #fff;
            border-radius: 2px;
            border-color: #d2d2d2;
        }

        #data {
            position: relative;
        }

        .dataSelect {
            border: 1px solid #d2d2d2;
            box-shadow: 0 2px 4px rgba(0, 0, 0, .12);
            background-color: #fff;
            color: #666;
            /* width: 250px; */
            height: 230px;
            position: abso
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用 JavaScript 和 HTML 来创建一个只显示年月选项的日历选择器。以下是一个简单的示例: HTML: ```html <input type="text" id="datePicker" placeholder="Select Month and Year"/> <div id="calendar" style="display:none"></div> ``` JavaScript: ```javascript // 获取日期选择器和日历元素 const datePicker = document.getElementById("datePicker"); const calendar = document.getElementById("calendar"); // 添加点击事件监听器 datePicker.addEventListener("click", () => { // 显示日历元素 calendar.style.display = "block"; }); // 创建日历元素 const createCalendar = () => { const today = new Date(); let year = today.getFullYear(); let month = today.getMonth() + 1; // 创建年份和月份下拉列表 const yearSelect = document.createElement("select"); const monthSelect = document.createElement("select"); // 添加选项到年份和月份下拉列表中 for (let i = year - 10; i <= year + 10; i++) { const option = document.createElement("option"); option.value = i; option.text = i; yearSelect.appendChild(option); } for (let i = 1; i <= 12; i++) { const option = document.createElement("option"); option.value = i; option.text = i; monthSelect.appendChild(option); } // 设置默认选中的年份和月份 yearSelect.value = year; monthSelect.value = month; // 添加年份和月份下拉列表到日历元素中 calendar.appendChild(yearSelect); calendar.appendChild(monthSelect); // 添加年份和月份下拉列表的 change 事件监听器 yearSelect.addEventListener("change", () => { year = yearSelect.value; updateCalendar(); }); monthSelect.addEventListener("change", () => { month = monthSelect.value; updateCalendar(); }); // 更新日历元素中的年份和月份 const updateCalendar = () => { const date = new Date(year, month - 1); yearSelect.value = year; monthSelect.value = month; datePicker.value = date.toLocaleString("default", { month: "long", year: "numeric" }); }; // 更新日历元素中的年份和月份 updateCalendar(); }; // 创建日历元素 createCalendar(); ``` 这个示例会创建一个文本框和一个隐藏的日历元素。当用户点击文本框时,日历元素会显示出来,用户可以选择年份和月份。选中后,文本框中会显示出选择的年份和月份。 ### 回答2: js日历选择只显示年月选项可以通过以下步骤实现。 1. 首先,在HTML中创建一个文本框作为日历选择的输入框。例如: ```html <input type="text" id="calendarInput" readonly="readonly"> ``` 2. 接下来,在JavaScript中获取该输入框元素,并为其添加点击事件处理程序。例如: ```javascript var input = document.getElementById("calendarInput"); input.addEventListener("click", function() { // 打开日历选择器 }); ``` 3. 在点击事件处理程序中,创建一个自定义的日历选择器,并使其只显示年月选项。这可以通过创建一个包含年份和月份下拉列表的弹出框来实现。 4. 弹出框的布局可以通过动态创建HTML元素来实现。例如,使用document.createElement方法创建div和select元素,然后将它们添加到页面中。例如: ```javascript var popup = document.createElement("div"); popup.classList.add("calendar-popup"); var yearSelect = document.createElement("select"); // 添加年份选项 var monthSelect = document.createElement("select"); // 添加月份选项 // 将select元素添加到弹出框中 // 将弹出框添加到页面中 ``` 5. 设置年份和月份的选项值。通过循环添加选项到年份和月份下拉列表中,这里需要使用for循环或者forEach方法来遍历年份和月份的数据。例如: ```javascript for (var i = startYear; i <= endYear; i++) { var option = new Option(i, i); yearSelect.appendChild(option); } ``` 6. 最后,在点击年份和月份选项后更新输入框的值,并关闭弹出框。可以使用change事件来监听年份和月份选择的变化。例如: ```javascript yearSelect.addEventListener("change", function() { // 更新输入框的值 // 关闭弹出框 }); ``` 7. 完成上述步骤后,用户点击输入框后将会弹出自定义的日历选择器,其中只显示年份和月份选项。用户选择年份和月份后,输入框的值将会更新为选择的年份和月份,弹出框也会关闭。 ### 回答3: JS 日历选择只显示年月选项可以通过以下方式实现: 1. 选择一个合适的日历插件:可以使用一些开源插件,比如DatePicker或者Flatpickr等。这些插件通常支持自定义设置,可以满足我们只显示年月选项的需求。 2. 设置插件选项:在设置插件的选项时,根据需求选择只显示年月选项。具体的设置方法可以查看插件的官方文档或者示例代码。 3. 调用插件生成日历:在网页中调用插件的相关方法或者函数,生成只显示年月选项的日历。通常可以通过在输入框中绑定插件的函数来实现,当用户点击输入框时弹出日历。 4. 处理用户选择:当用户在日历选择年月后,可以通过插件提供的回调函数来获取用户选择的值。根据需要,可以将用户选择的值进行进一步处理。 需要注意的是,具体的实现方式可能会根据所选用的插件有所不同。部分插件可能会提供特定的设置选项来实现只显示年月选项。因此,在具体使用某个插件时,还需要参考该插件的官方文档或示例代码,根据插件的特性进行相应的设置和调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值