2012-04-13 43 views
39

Xin chào tôi muốn đặt ngày tối thiểu trong ngày tháng jquery của tôi thành (1999-10-25) vì vậy tôi đã thử mã bên dưới không hoạt động.đặt ngày tối thiểu trong jquery datepicker

$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     inline: true 
    }); 
}); 

** nếu tôi thay đổi năm phút đến trên 2002 hơn nó sẽ làm việc tốt nhưng nếu tôi xác định năm phút ít hơn 2002 {như trên eexample 1999} nó sẽ chỉ hiển thị lên đến 2002.can ai đó giúp tôi . tôi đang sử dụng jquery-1.7.1.min.js và jquery-ui-1.8.18.custom.min.js.

Trả lời

79
$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
yearRange: '1999:2012', 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     inline: true 
    }); 
}); 

Chỉ cần thêm tùy chọn phạm vi năm. Nó sẽ giải quyết vấn đề

+0

nhờ đó con người làm việc – user1184777

+0

nhờ @Gaurv. làm việc tốt. –

+0

đẹp, nó hữu ích –

1

Hiya làm việc bản demo: http://jsfiddle.net/femy8/

Bây giờ lịch sẽ chỉ đi đến tối thiểu 1999/10/25.

Nhấp vào hình ảnh, tức là biểu tượng nhỏ bên cạnh hộp văn bản để lịch xuất hiện. Bạn có thể thử chọn cho đến năm 1999 nhưng ngày tối thiểu để chọn là ngày 25 tháng 10 năm 1999. đó là những gì bạn muốn.

Điều này sẽ giúp ích, hãy làm điều tốt đẹp! :) chúc mừng!

Jquery Mã

$(".mypicker").datepicker({ 
    changeYear: true, 
    dateFormat: 'yy-mm-dd', 
    showButtonPanel: true, 
    changeMonth: true, 
    changeYear: true, 
    showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date('1999/10/25'), 
     maxDate: '+30Y', 
     inline: true 
}); 


​ 
13

Vấn đề là tùy chọn mặc định của "yearRange" là 10 năm.

Vì vậy, 2012 - 10 = 2002.

Vì vậy, hãy thay đổi yearRange thành c-20:c hoặc chỉ 1999 (yearRange: '1999:c') và sử dụng kết hợp với ngày giới hạn (mindate, maxdate).

Để biết thêm thông: http://jqueryui.com/demos/datepicker/#option-yearRange


Xem ví dụ: http://jsfiddle.net/kGjdL/

Và mã của bạn với việc bổ sung:

$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     yearRange: '1999:c', 
     inline: true 
    }); 
}); 
+0

tốt lời giải thích ngắn gọn – sockmonk

0

Chỉ muốn thêm điều này chỉ dành cho lập trình viên trong tương lai.

Mã này giới hạn ngày tối thiểu và tối đa. năm được kiểm soát hoàn toàn bằng cách lấy năm hiện tại là năm tối đa.

Hy vọng điều này có thể giúp bất kỳ ai.

Đây là mã.

var dateToday = new Date(); var yrRange = '2014' + ":" + (ngàyHôm nay.getFullYear());

$(function() { 
    $("[id$=txtDate]").datepicker({ 
     showOn: 'button', 
     changeMonth: true, 
     changeYear: true, 
     showButtonPanel: true, 
     buttonImageOnly: true, 
     yearRange: yrRange, 
     buttonImage: 'calendar3.png', 
     buttonImageOnly: true, 
     minDate: new Date(2014,1-1,1), 
     maxDate: '+50Y', 
     inline:true 
    }); 
}); 
0

Hãy thử như mã html

<script> 

    $(document).ready(function(){ 
      $("#order_ship_date").datepicker({ 
      changeMonth:true, 
      changeYear:true,   
      dateFormat:"yy-mm-dd", 
      minDate: +2, 
     }); 
    }); 


</script> 

này được đưa ra dưới đây

<input id="order_ship_date" type="text" class="input" style="width:80px;" /> 
+1

Bạn có thể vui lòng xây dựng thêm câu trả lời của bạn thêm mô tả chi tiết hơn về giải pháp bạn cung cấp không? – abarisone

0

về cơ bản nếu bạn đã xác định năm phạm vi không có nhu cầu sử dụng mindatemaxdate nếu chỉ năm là yêu cầu

2

Chỉ trong trường hợp nếu ví dụ bạn cần đặt phút ngày, trong 3 tháng cuối cùng và ngày tối đa 3 tháng tới

$('#id_your_date').datepicker({ 
    maxDate: '+3m', 
    minDate: '-3m' 
}); 
Các vấn đề liên quan