【问题标题】:Dynamically adding HTML5 Date Element iOS Safari动态添加 HTML5 日期元素 iOS Safari
【发布时间】:2014-07-30 14:11:29
【问题描述】:

我有以下 javascript 代码,它使用 jQuery 将 HTML5 日期输入元素附加到现有 div 元素并将值设置为某个日期(日期格式为 yyyy-MM-dd)。此代码在 Chrome、Safari(桌面)、IE(使用 IE 11 测试)中完美运行。但是当代码在 mobile-safari 上运行时,会附加输入元素,但未设置默认日期值。

代码:

$("<input>").attr({
    type: "date",
    value: "2014-07-31",
    id: "someDate"
}).appendTo("#someDiv");

有谁知道为什么没有在 Mobile Safari 上设置默认日期?

谢谢!

【问题讨论】:

  • 什么版本的IOS?
  • iOS版本为7.1.2

标签: javascript jquery ios html mobile-safari


【解决方案1】:

也许你应该在设置值之前将元素插入到 dom 中。不确定这是否有效,请尝试并告诉我。

$('<input type="date" id="#someDate">').appendTo("#someDiv").val("2014-07-31");

如果 appendTo 没有链接,你可以试试 $('#someDate').val("2014-07-31");。

另外,输入类型是只读的,所以在元素上设置属性可能无法正常工作。

【讨论】:

  • 感谢 B2K ..我尝试在元素附加后提醒它的值。该值是我所期望的,只是看起来没有价值。
  • 你能做一个 document.write 以便在加载 dom 之前插入元素吗?
  • 我找到了解决问题的方法。可能不是最干净的,但它有效。 'code' $("").attr({ type: "text", value: "2014-07-31", id: "someDate" }).appendTo("#someDiv"); document.getElementById("someDate").type = "date"; “代码”我真的没有一个好的技术答案,但我的猜测是使用 jquery 将输入类型设置为日期并不像你期望的那样。我正在阅读不允许使用 jquery 更改输入类型的内容,这可能与此问题有些相关。不过感谢您的帮助!
猜你喜欢
  • 2011-10-05
  • 2012-01-26
  • 1970-01-01
  • 2010-11-30
  • 2017-02-09
  • 2013-03-28
  • 2013-05-27
  • 1970-01-01
  • 2011-11-01
相关资源
最近更新 更多