2010-03-25 54 views
6

Có cách nào để thay đổi ngày "hôm nay" trong jquery.ui datepicker không? Với hôm nay, ý tôi là hôm nay (class = "ui-datepicker-today") chứ không phải là minDate hoặc ngày được chọn hiện tại!jQuery datepicker - thay đổi ngày "hôm nay"?

Tôi đã tìm ra, trình ghi ngày tháng đó sử dụng thời gian hệ thống cho các giá trị mặc định. Bây giờ tôi nhận được ngày hiện tại từ máy chủ của tôi và đặt nó vào minDate của tôi. Nhưng tôi đã không tìm cách thiết lập ngày hôm nay ... Nó vẫn sử dụng ngày hệ thống của tôi (có một số người dùng ở đó có systemdate là vào năm 2000 hoặc sớm hơn).

U có thể giúp tôi không?

+1

Bạn có được câu trả lời ?? nếu có xin vui lòng gửi mã. –

Trả lời

1

Dựa trên số source, trông không ổn.

var today = new Date(); 

Điều đó sẽ luôn là ngày hệ thống của người dùng.

Nếu bạn hoàn toàn phải sửa lỗi này, hãy xem một dòng; bạn có thể ghi đè $.datepicker._daylightSavingAdjust và trả lại ngày từ máy chủ của mình *

Nhưng đây là một ý tưởng tồi. Tại sao người dùng của bạn lại có ngày hệ thống của họ bị sai lầm? Tại sao lại là vấn đề của bạn? Nếu họ phàn nàn, hãy bảo họ sửa đồng hồ của họ.

* Tôi không thể nhấn mạnh mức độ tồi tệ của ý tưởng. Chức năng này được sử dụng để bình thường hóa hầu hết các ngày trong datepicker, vì vậy bạn sẽ phải viết một số logic khá phức tạp để tránh làm rối tung mọi thứ. Điều đó thậm chí có thể không khả thi.

+1

Tại sao người dùng của bạn có ngày hệ thống của họ bị hỏng? -> tốt, tôi không biết! Tôi nhận được yêu cầu từ người dùng rằng anh/cô ấy không thể sử dụng trang web của tôi, nguyên nhân của ngày từ datepicker bị giới hạn trong năm 2000 và 2001 (một năm tới tương lai là khoảng thời gian, người dùng có thể chọn ngày). – Newbie

-2

Bạn đang tìm ot đặt ngày mặc định khi mở jQuery UI Datepicker?

Nếu vậy, trình ghi ngày tháng có option để cho phép bạn đặt cài đặt này.

+0

không, ngày mặc định là ngày được chọn khi khởi động, nhưng tôi đang tìm ngày hôm nay. – Newbie

+0

câu trả lời này theo phong cách đặc biệt này đúng hơn là một nhận xét. Tôi bị cám dỗ vì một lá cờ ... sry! –

0

Một tinh chỉnh nhỏ để câu trả lời được chọn trong jQuery UI DatePicker change highlighted "today" date

// Get users 'today' date 
var localToday = new Date(); 
localToday.setDate(tomorrow.getDate()+1); // tomorrow 

// Pass the today date to datepicker 
$("#datepicker").datepicker({ 
    showButtonPanel: true, 
    localToday: localToday // This option determines the highlighted today date 
}); 

Tôi đã ghi đè 2 phương pháp datepicker có điều kiện sử dụng cài đặt mới cho "ngày hôm nay" ngày thay vì một new Date(). Cài đặt mới được gọi là localToday.

Override $.datepicker._gotoToday$.datepicker._generateHTML như thế này:

$.datepicker._gotoToday = function(id) { 
    /* ... */ 
    var date = inst.settings.localToday || new Date() 
    /* ... */ 
} 

$.datepicker._generateHTML = function(inst) { 
    /* ... */ 
    tempDate = inst.settings.localToday || new Date() 
    /* ... */ 
} 

Dưới đây là một demo trong đó cho thấy các mã và sử dụng đầy đủ: http://jsfiddle.net/NAzz7/5/

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