2013-08-12 50 views
13

Tôi đang sử dụng Bootstrap datepicker. Câu trả lời có lẽ là hiển nhiên, nhưng tôi không thể tìm ra cách để có được ngày được chọn dưới dạng một chuỗi theo định dạng được chỉ định. Tôi đã sử dụng:Trình ghi ngày tháng khởi động - cách lấy ngày dưới dạng chuỗi ở đúng định dạng?

<div id="myDate" data-date-format="yyyy-mm-dd"> 
    <input type="text"> 
</div> 

Và trong javascript của tôi:

var value = $("#myDate").datepicker("getDate"); 

Nhưng nó trả về một ngày, không phải là một chuỗi trong định dạng yyyy-mm-dd.

Trả lời

18

Các data-date-format="mm/dd/yyyy" cần phải được đặt vào đầu vào:

<input type="text" data-date-format="MM/DD/YYYY"> 

jQuery của bạn cũng nên được thay đổi để:

var value = $("#myDate input").datepicker("getDate"); 

Hoặc bạn chỉ có thể giữ cho mọi thứ đơn giản không có gói div và với điều này jQuery ban đầu của bạn sẽ hoạt động tốt và bạn sẽ không phải chỉ định input:

<input type="text" id="myDate" data-date-format="YYYY-MM-DD"> 

Gợi ý
Tôi khuyên bạn nên tạo lớp để định dạng datepicker. Vì vậy, bạn có thể thêm lớp .datepicker vào bất kỳ trường nhập nào và nó sẽ hoạt động mà không cần phải chỉ định biến khác.

Fiddle
Dưới đây là mã làm việc với cảnh báo kể từ ngày http://jsfiddle.net/doitlikejustin/HFuDg/1/

+0

Cảm ơn. Tôi thực sự đã bỏ qua một số thứ. Gói div bao gồm ccleve

+1

Tôi hiểu. Đã thêm 'data-date-format' vào đầu vào có khắc phục được sự cố hay vẫn đang diễn ra? – doitlikejustin

+0

Vẫn đang xảy ra. Phương thức getDate vẫn trả về một đối tượng. Bây giờ nó là một đối tượng khác và dường như là một phần của DOM. (Đầu vào có lẽ?) – ccleve

Các vấn đề liên quan