10

我正在努力为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 日期选择器。

4

1 回答 1

12

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

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

示例:1996-12-19

所以以下应该工作:

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

演示JSFiddle

于 2013-05-10T10:59:53.243 回答