【问题标题】:Open HTML5 date picker inside input box click在输入框内打开 HTML5 日期选择器点击
【发布时间】:2020-10-26 04:59:22
【问题描述】:

我正在尝试使用以下代码在输入文本框中单击时打开 HTML5 日期选择器,但它没有按预期工作。

但是,单击日历图标会打开日期选择器(默认情况下)。这是在我的 Angular 7 应用程序中。

小提琴:https://jsfiddle.net/mailmrmanoj/rL1ecp9w/5/

HTML:

<input
  type="date"
  name="startDate"
  id="datePick"
  (click)="openDP()"
  class="input--small"
/>

打字稿:

declare var $;

openDP() {           
  $('#datePick').datepicker('show');
}

我的代码有什么问题吗?

日期选择器参考:https://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_date

【问题讨论】:

  • 它对我来说很好。
  • @AlwaysHelping 请检查我创建的这个小提琴jsfiddle.net/mailmrmanoj/rL1ecp9w/5
  • @forgottofly 在你的 jsfiddle 中,当我点击输入框或图标时,只会弹出警报,而不是打开任何日期选择器?这是你的问题吗?还是?
  • 是的..您可以删除警报功能并尝试在应该打开日期选择器的文本框内单击。但它没有打开..
  • @forgottofly stackblitz.com/edit/… 这能解决你的问题吗

标签: javascript jquery angular date datepicker


【解决方案1】:

尝试输入 type="text" 而不是 type="date" 和焦点事件调用函数“openDP”。

<input name="date" type="text" (focus)="focusFunction()" (focusout)="focusOutFunction()">

注意:您也可以使用 angularjs-datepicker 代替默认的 HTML5 日期选择器,因为 Safari 或 Internet Explorer 11(或更早版本)不支持 type="date"

【讨论】:

  • 其实我想用 input type="date" 因为那是 UX 团队定义的日期
猜你喜欢
  • 1970-01-01
  • 2013-08-22
  • 2014-10-26
  • 2021-02-11
  • 1970-01-01
  • 2019-08-09
  • 2023-01-31
  • 1970-01-01
  • 2019-05-04
相关资源
最近更新 更多