我很难在Google Chrome中为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()
?似乎愚蠢......
修改:根据this article,在Google日期输入中设置值的日期格式必须始终为"yyyy-mm-dd"
。这是一个棘手的问题,因为我们在所有没有原生日期选择器的浏览器中使用jQuery日期选择器。
答案 0 :(得分:12)
您只需按照W3C working draft:
中的说明正确格式化value
RFC 3339 中定义的有效完整日期,其附加条件是年份组件为四位或更多位数,表示大于0的数字。
实施例: 1996年12月19日
所以以下内容应该有效:
var viewModel = {
dateString: ko.observable('2002-02-02')
};
演示JSFiddle。