我有一个类型设置为“日期”的输入(html5):
<input id="Employee_hireDate" class="pickDate" type="date" name="Employee[hireDate]" value="Hire Date" />
当我查看原始源代码时,类型设置为日期。但是,在 Chrome 开发者工具中它不显示。当我运行时:
alert($('#Employee_hireDate').attr('type'));
它将输入类型显示为未定义。我使用的是 Google Chrome v15。
有没有人知道为什么 JQuery 找不到选择器?
洛根
最佳答案
你真的不应该这样做,这样。 HTML5 日期有一些非常具体的 UI 和非常具体的 API。例如下面的代码 http://jsfiddle.net/trixta/EAZPN/在 Opera 中不起作用,并且在 Chrome 或任何其他浏览器中不起作用,如果浏览器已完全实现 type="date"。
如果你想让它以某种方式可行,你必须删除日期并将其替换为文本类型。此外,您必须确保始终使用/生成以下格式的日期值 YYYY-MM-DD。
还有很多其他因素可以使它变得非常好。我用 webshims lib 做了一个小例子,您可以在这里找到:http://jsfiddle.net/trixta/VNuct/ .
Webshims lib 将隐藏您原来的 type="date"输入并创建一个无名的新输入,以模仿日期选择器的视觉实现。它还将输入的值从一个输入传输到另一个输入,并将该值转换为正确的格式。它还为您提供了完整的 HTML5 日期 API:
例如:
$('#Employee_hireDate').prop('valueAsNumber', 1315267200000);
$('#Employee_hireDate').prop('valueADate');
关于JQuery 输入[type=date] 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7297554/