js输入类型日期数据绑定在谷歌Chrome

Knockout.js input type date data binding in Google Chrome

本文关键字:谷歌 Chrome 数据绑定 日期 输入 类型 js      更新时间:2023-09-26

我正在努力设置type="date"在谷歌浏览器的输入值:http://jsfiddle.net/ruslans/gNv7H/

<input data-bind="value: dateString" type="date"></input>
var viewModel = {
    someDate: new Date(parseInt("/Date(1367708400000)/".substr(6)))
};
ko.applyBindings(viewModel);

我的日期将来自JSON数据,但首先我需要找出它需要在Chrome的日期选择器识别绑定的格式。我是否必须使用jQuery选择器并在字段上设置.val() ?看起来愚蠢的…

编辑:根据这篇文章,在Google日期输入上设置值的日期格式必须始终是"yyyy-mm-dd"。这很可惜,因为我们在所有浏览器上使用jQuery日期选择器而这些浏览器没有原生日期选择器

您只需要按照W3C工作草案中的描述正确格式化您的value:

RFC 3339中定义的有效的完整日期,附加条件是年份成分是四个或更多的数字,表示大于0的数字。

的例子:1996-12-19

所以下面的代码应该可以工作:

var viewModel = {    
    dateString: ko.observable('2002-02-02')
};

演示JSFiddle。