【问题标题】:Is there a JavaScript method to make a html date input display the datepicker?是否有 JavaScript 方法可以使 html 日期输入显示日期选择器?
【发布时间】:2018-03-05 05:44:00
【问题描述】:

我想从外部按钮触发日期输入的日期选择器的显示。

<input id="date" type="date" />
<button>display date</button>

例如,如果我有上面的代码,我将如何通过单击按钮显示日期选择器(出现并允许您选择日期的框)?我不想使用 jQuery 或其他库。有没有办法使用香草 JavaScript 从外部触发器显示本机日期选择器?

我正在寻找这样的东西:

var button = document.querySelector("button");
button.onclick = () => {
    var input = document.querySelector("#date");
    input.showDatePicker();
}

【问题讨论】:

标签: javascript html datepicker


【解决方案1】:

这在 firefox 和 edge 上运行良好:

<input id="date" type="date" />
<button>display date</button>
<script type="text/javascript">
	var button = document.querySelector("button");
button.onclick = () => {
    var input = document.querySelector("#date");
    input.focus()
    input.click()
}
</script>

【讨论】:

  • 适用于 Chrome/Android 和 Firefox/Desktop 但不适用于 Chrome/Desktop 或 Firefox/Android...
【解决方案2】:

你可以用

let x = document.getElementById('myDate'),
  d = new Date(),
  m = d.getMonth() < 10 ? `0${d.getMonth()}` : `${d.getMonth()}`,
  day = d.getDay() < 10 ? `0${d.getDay()}` : `${d.getDay()}`;

x.value = d.getFullYear() + "-" + m + "-" + day;

Demo

【讨论】:

  • 嗨,所以我不想要一种获取日期的方法,而是一种让 date-picker 显示的方法。当您在 PC 或移动设备上单击箭头时出现的内容只需触摸输入即可。我想让它从一个单独的按钮出现
猜你喜欢
  • 1970-01-01
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多