2013-02-01 32 views
6

Tôi có cài đặt bộ chọn ngày jQuery và đang hoạt động nhưng muốn được trợ giúp thiết lập tùy chọn minDate và maxDate. Mã hiện tại của tôi là bên dưới (không có các tùy chọn này). Làm thế nào tôi có thể đặt minDate là 3 tháng trước defaultDate, và maxDate là 28 ngày sau defaultDate?jQuery DatePicker Min Ngày tối đa

var expdisp = $("#expdisp").attr("value"); 

$("#expirydate").datepicker({ 
    showOn: "button", 
    buttonImage: "images/calendar.gif", 
    buttonImageOnly: true, 
    dateFormat: "dd/mm/yy", 
    defaultDate: expdisp, 
    showOtherMonths: true, 
    selectOtherMonths: true, 
    changeMonth: true, 
    changeYear: true, 
}); 

Trả lời

12
$(function() { 

    $("#datepicker").datepicker({ 
     changeYear: true, 
     minDate: '-3M', 
     maxDate: '+28D', 
    }); 
}); 

JSFiddle Demo

CẬP NHẬT

Bạn có thể tính toán max tour và tiêu chuẩn tối thiểu ngày hiệu lực kể từ ngày mặc định, sau đó gán nó vào bộ chọn ngày.

var expdisp = $("#expdisp").attr("value"); 

$("#expirydate").datepicker({ 
    showOn: "button", 
    buttonImage: "images/calendar.gif", 
    buttonImageOnly: true, 
    dateFormat: "dd/mm/yy", 
    defaultDate: expdisp, 
    showOtherMonths: true, 
    selectOtherMonths: true, 
    changeMonth: true, 
    changeYear: true, 

    minDate: '-3M', 
    maxDate: '+28D', 
}); 

Update Demo

+1

Điều này được tính từ 'hôm nay' và không được đặt trong 'defaultDate' – Rob

+0

@Rob - Tìm bản cập nhật được cập nhật – MuhammadHani

+0

Cảm ơn vì điều này, nó vẫn tính toán min/max từ hôm nay. Tôi đã sắp xếp nó ngay bây giờ mặc dù - Tôi đang tính toán các giá trị trong PHP và sau đó chỉ cần vượt qua chúng khi bắt đầu datePicker. – Rob

0

bạn có thể thử:

var expdisp = $("#expdisp").attr("value"); 

$("#expirydate").datepicker({ 
    showOn: "button", 
    buttonImage: "images/calendar.gif", 
    buttonImageOnly: true, 
    dateFormat: "dd/mm/yy", 
    defaultDate: expdisp, 
    showOtherMonths: true, 
    selectOtherMonths: true, 
    changeMonth: true, 
    changeYear: true, 

    minDate: -3M, 
    maxDate: +28D 
}); 
+0

tôi đã cố gắng này, nhưng các giá trị được tính từ 'hôm nay và không bất cứ thứ gì trong 'defaultDate' – Rob

+0

Ooppps. Làm thế nào về điều này: http://stackoverflow.com/questions/7395771/jquery-ui-datepicker-maxdate Chỉ cần vượt qua ngày của bạn để chức năng và sử dụng nó trong var maxDate = new Date (defaultDate); – SteveW

2

maxDate: - Thiết lập ngày tối đa có thể được lựa chọn. Chấp nhận một đối tượng ngày tháng hoặc một số tương đối. Ví dụ: +7 hoặc một chuỗi chẳng hạn như + 6m.

minDate: - Đặt ngày tối thiểu có thể được chọn. Chấp nhận một số, đối tượng ngày tháng hoặc chuỗi.

$(document).ready(function() { 
    $("#date").datepicker({ 
     minDate: -3, 
     maxDate: "1w" 
    }); 

});

Tham khảo: - set Minimum and maximum date to jquery datepicker

0

Bạn cũng có thể sử dụng phạm vi ngày cụ thể. Tôi đã thêm ngày bắt đầu tối thiểu với mức + 14D tối đa. Bạn chỉ cần nhớ duy trì tính nhất quán với định dạng ngày của bạn và sử dụng "/" thay vì "-" giữa MM/DD/YYYY.

$('#Date').datepicker({ 
 
    changeMonth: true, 
 
    minDate: '10/19/2016', 
 
    maxDate: '+14D', 
 
});

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