Tôi đang đấu tranh để thiết lập một giá trị trên đầu vào của type="date"
trong google chrome: http://jsfiddle.net/ruslans/gNv7H/Knockout.js loại đầu vào ngày dữ liệu ràng buộc trong Google Chrome
<input data-bind="value: dateString" type="date"></input>
var viewModel = {
someDate: new Date(parseInt("/Date(1367708400000)/".substr(6)))
};
ko.applyBindings(viewModel);
ngày tôi sẽ đến từ dữ liệu JSON nhưng trước tiên tôi cần để tìm ra định dạng nào cần phải có trong bộ chọn ngày của Chrome để nhận ra ràng buộc. Tôi có phải làm điều đó với bộ chọn jQuery và đặt .val()
trên trường không? Dems daft ...
Chỉnh sửa: theo this article, định dạng ngày để đặt giá trị trên đầu vào ngày của Google phải luôn là "yyyy-mm-dd"
. Đó là một điều đáng tiếc, bởi vì chúng tôi đang sử dụng bộ chọn ngày jQuery cho tất cả các trình duyệt không tồn tại bộ chọn ngày gốc.
Lưu ý rằng theo [dự thảo tiêu chuẩn W3] (http://www.w3.org/TR/html-markup/input.date.html), điều này sẽ không phải là chrome cụ thể nhưng mọi trình duyệt sẽ/nên triển khai như thế này: "yyyy-mm-dd" định dạng ngày. Bởi lý do tại sao bạn có thể cấu hình bộ chọn ngày jQuery để sử dụng định dạng này vì vậy tôi không thấy vấn đề của bạn ... – nemesv
định dạng ngày được hiển thị sẽ là người thuê cụ thể. Ví dụ. mm/dd/yyyy cho Hoa Kỳ, mm.dd.yyyy cho Nga, dd/mm/yyyy cho Vương quốc Anh, v.v. Tuy nhiên, tại nguồn, nó sẽ luôn là định dạng ngày JSON. – Tsar
Vì vậy, bạn có thể có ngày của bạn ở bất kỳ định dạng nào trong mô hình/nguồn. Sau đó, bạn cần phải chuyển đổi nó thành "yyyy-mm-dd" khi đặt giá trị của các đầu vào của bạn. Và bạn có thể thiết lập jQuery để sử dụng định dạng "yyyy-mm-dd" này để lưu trữ dữ liệu. Và bạn cần phải thiết lập jQuery và cũng là datepicker gốc chrome để hiển thị nó trong bất kỳ định dạng đích nào. Vì vậy, bạn sẽ có cuối cùng ba định dạng: nguồn, định dạng cho đầu vào, định dạng cho màn hình. Tôi không thấy một vấn đề ở đây là làm thế nào những điều này đang làm việc khi bạn phải đối phó với ngày tháng. – nemesv