Knockout.js在Google Chrome中输入日期数据绑定

Гро*_*ный 10 javascript jquery html5 google-chrome knockout.js

我正在努力为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);
Run Code Online (Sandbox Code Playgroud)

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

编辑:根据这篇文章,在日期输入上设置值的日期格式必须始终如一"yyyy-mm-dd".这是一个棘手的问题,因为我们在所有没有原生日期选择器的浏览器中使用jQuery日期选择器.

nem*_*esv 12

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

RFC 3339中定义的有效完整日期,其附加条件是年份组件是四位或更多位数,表示大于0的数字.

示例:1996-12-19

所以以下应该有效:

var viewModel = {    
    dateString: ko.observable('2002-02-02')
};
Run Code Online (Sandbox Code Playgroud)

演示JSFiddle.