设置输入类型月份的值

时间:2017-11-09 12:55:30

标签: javascript

如何使用javascript设置输入元素类型月份的值?

<input type="month>

在网络上找不到任何相关信息。

5 个答案:

答案 0 :(得分:4)

您可以像使用任何其他类型

一样使用value属性

    <input  type="month"  value="2017-09">

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/month

如果您正在寻找JS解决方案,就像您将值设置为输入一样,您可以

document.getElementById("abc").value = "2017-09";

注意:

1)使用它时,必须始终有一年。这是一个很烦人的事情。

2)请注意浏览器存在问题。

  

然而,存在一些问题,因为目前许多主流浏览器还不支持它。

     

我们将查看基本和更复杂的用法,然后在处理浏览器支持部分提供有关缓解浏览器支持问题的建议。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/month#Handling_browser_support

建议:

我个人不喜欢在支持相同的

的当前想要的文档中开发和设计它的方式
  

以跨浏览器的方式处理表单中的日期的最佳方式(直到所有主流浏览器都支持它们一段时间)是让用户在单独的控件中输入月份和年份(元素很受欢迎) ;请参阅下面的实现),或使用JavaScript库,如jQuery日期选择器插件。

答案 1 :(得分:3)

您可以设置如下值,

const monthControl = document.querySelector('#month-control[type="month"]');
monthControl.value = '1978-06';
<input type="month" id="month-control">

请考虑Browser compatibility

Feature       | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari
Basic support | 20     | 12   | No support[1]   | No support        | 10.62 | No support[2]

答案 2 :(得分:1)

正如Suresh所说,您可以像任何其他类型的输入一样访问和更新它:

<input type="month" id="month_input">

在你的JS中:

document.getElementById("month_input").value = "2017-09";

答案 3 :(得分:1)

var month = document.getElementsByClassName('month');

for (i = 0; i < month.length; i++) {
   month[i].value = '2017-06';
} 
<input type="text" class="month"  >
<input type="text" class="month"  >
您也可以使用课程

答案 4 :(得分:0)

您可以简单地使用下面的代码将当前月份设置为您的 #month-input-element

let now = new Date();
    
let currentYear = now.getFullYear();
let currentMonth = ("0" + (now.getMonth() + 1)).slice(-2);
    
$('#month-input-element').val(`${currentYear}-${currentMonth}`);
相关问题