如何使用javascript设置输入元素类型月份的值?
<input type="month>
在网络上找不到任何相关信息。
答案 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">
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}`);