JQuery输入选择器

我有一个类型设置为“日期”(html5)的输入:

 

当我查看原始源时,类型设置为日期。 但是,在Chrome开发者工具中,它不会显示。 当我跑:

 alert($('#Employee_hireDate').attr('type')); 

它将输入类型显示为undefined。 我正在使用Google Chrome v15。

有没有人知道为什么JQuery找不到选择器?

洛根

你真的不应该这样做。 HTML5日期有一些非常具体的UI和一个非常具体的API。 例如,以下代码http://jsfiddle.net/trixta/EAZPN/在Opera中不起作用,如果浏览器已完全实现type =“date”,则它将无法在Chrome或任何其他浏览器中运行。

如果你想让它以某种方式可行,你必须删除日期并用类型文本替换它。 此外,您必须确保始终使用/生成日期值,格式为YYYY-MM-DD。

还有很多其他的东西可以让它变得非常好。 我使用了webshims lib做了一个小例子,你可以在这里找到: http : //jsfiddle.net/trixta/VNuct/ 。

Webshims lib将隐藏您的原始type =“date”输入并创建一个无名的新模型,以模仿datepicker的可视化实现。 它还将输入值从一个输入传输到另一个输入,并将此值转换为正确的格式。 它还为您提供完整的HTML5日期API:

例如:

 $('#Employee_hireDate').prop('valueAsNumber', 1315267200000); $('#Employee_hireDate').prop('valueADate'); 

如果从RC的注释中查看JSFiddle,并切换jQuery的版本,你会发现只能使用jQuery 1.6.2或更高版本获得正确的答案(“日期”)。 确保您使用的是最新版本的jQuery!