2010-04-14 33 views
18

Tôi có hai sau datepicker đối tượng nhưng tôi không thể có được những gì tôi muốn là tôi đang bị mắc kẹt với minDate và maxDate lựa chọn:jQuery datepicker mindate, maxdate

Điều này là để hạn chế ngày để ngày tương lai .

Điều tôi muốn: hạn chế ngày từ ngày hiện tại đến 30 năm.

Tôi nhận được: hạn chế ngày từ ngày hiện tại đến 10 năm.

$(".datepickerFuture").datepicker({ 
    showOn: "button", 
    buttonImage: 'calendar.gif', 
    buttonText: 'Click to select a date', 
    duration:"fast", 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: 'dd/mm/yy', 
    constrainInput: true, 
    minDate: 0, 
    maxDate: '+30Y',  
     buttonImageOnly: true 
    }); 

này là để hạn chế để lựa chọn chỉ qua ngày:

Những gì tôi muốn: hạn chế số ngày từ ngày hiện tại đến 120 năm trước thời gian.

Những gì tôi nhận được: giới hạn ngày từ ngày hiện tại đến 120 năm trước, nhưng khi tôi chọn một năm, năm tối đa sẽ được đặt lại thành năm đã chọn (ví dụ: tôi sẽ nhận được khi tải trang mới là 1890- 2010, nhưng nếu tôi chọn 2000 năm chọn hộp thiết lập lại để 1880-2000).

$(".datepickerPast").datepicker({ 
    showOn: "button", 
    buttonImage: 'calendar.gif', 
    buttonText: 'Click to select a date', 
    duration:"fast", 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: 'dd/mm/yy', 
    constrainInput: true, 
    yearRange: '-120:0', 
    maxDate: 0, 
    buttonImageOnly: true 
}); 

Tôi cần trợ giúp với cả đối tượng datepicker, mọi trợ giúp sẽ được đánh giá rất nhiều.

Trả lời

6

Tôi cố định vấn đề của tôi mà nó là thư viện jquery là một chút ra ngày.

Nếu có ai quan tâm đến giải pháp này, vui lòng kiểm tra here.

1

Các 30 năm ta nên làm việc tốt như here:

Đối -120 năm bạn chỉ cần làm ngược here

+0

Đối với 30, đó là những gì tôi nghĩ nhưng tôi chỉ nhận được 10 năm. Trong 120 năm, ý của bạn là gì? Cảm ơn. – Amra

+0

Tôi chỉ sử dụng '-120Y' cho minDate và 0 cho maxDate, nếu bạn nhìn vào liên kết jsBin bạn có thể thấy mã tôi đã sử dụng –

+1

@Cesar - danh sách thả xuống cho năm sẽ thay đổi dựa trên năm hiện tại. Nó xuất hiện để chỉ hiển thị -10/+ 10 từ năm hiện tại, nhưng tôn trọng các giá trị tối thiểu/tối đa mà bạn cung cấp. Xem mã cho _generateMonthYearHeader trong tệp jQuery UI js. – tvanfosson

22
$("#datepick").datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      showOn: 'button', 
      buttonImage: 'images/calendar.gif', 
      buttonImageOnly: true, 
      dateFormat: 'dd/mm/yy', 
      minDate: '-100Y', 
    maxDate: '-1Y', 
    yearRange: '-100', 

     }); 
+0

+1 cho yearRange với min/max Date. Tôi không biết tôi có thể setDate như thế. Cảm ơn rất nhiều! –

1

Để hiển thị từ ngày hiện tại đến 1 năm = maxDate: '+ 1Y, Để hiển thị từ ngày hiện tại đến 30 ngày = maxDate:' + 30D,

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