Saya mencoba agar Rentang tanggal memilih menggunakan pemilih tanggal UI.
di bidang dari / ke orang tidak boleh melihat atau memilih tanggal sebelum hari ini.
Ini kode saya:
$(function() {
var dates = $( "#from, #to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" ),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
}
});
});
Dapatkah seseorang memberi tahu saya cara menonaktifkan tanggal sebelum tanggal sekarang.
showAnim:"",
ke pengaturan datepicker untuk menghapus perubahan bulan dan tahun yang mengganggu saat Anda membuat pilihan.Deklarasikan variabel dateToday dan gunakan fungsi Date () untuk mengaturnya .. kemudian gunakan variabel itu untuk menetapkan ke minDate yang merupakan parameter datepicker.
var dateToday = new Date(); $(function() { $( "#datepicker" ).datepicker({ numberOfMonths: 3, showButtonPanel: true, minDate: dateToday }); });
Itu saja ... Jawaban di atas sangat membantu ... teruskan guys ..
sumber
$('#datepicker-dep').datepicker({ minDate: 0 });
minDate:0
bekerja untuk saya.sumber
Gunakan opsi "minDate" untuk membatasi tanggal paling awal yang diizinkan. Nilai "0" berarti hari ini (0 hari dari hari ini):
$(document).ready(function () { $("#txtdate").datepicker({ minDate: 0, // ... }); });
Dokumen di sini: http://api.jqueryui.com/datepicker/#option-minDate
sumber
Hanya untuk menambahkan ini:
Jika Anda juga perlu mencegah pengguna mengetik tanggal sebelumnya secara manual, ini adalah solusi yang mungkin. Inilah yang akhirnya kami lakukan (berdasarkan jawaban @Nicola Peluchetti)
var dateToday = new Date(); $("#myDatePickerInput").change(function () { var updatedDate = $(this).val(); var instance = $(this).data("datepicker"); var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, updatedDate, instance.settings); if (date < dateToday) { $(this).datepicker("setDate", dateToday); } });
Apa yang dilakukannya adalah mengubah nilai ke tanggal hari ini jika pengguna secara manual mengetik tanggal di masa lalu.
sumber
Demo Langsung , coba ini,
$('#from').datepicker( { minDate: 0, beforeShow: function() { $(this).datepicker('option', 'maxDate', $('#to').val()); } }); $('#to').datepicker( { defaultDate: "+1w", beforeShow: function() { $(this).datepicker('option', 'minDate', $('#from').val()); if ($('#from').val() === '') $(this).datepicker('option', 'minDate', 0); } });
sumber
Ini cara mudah untuk melakukan ini
$('#datepicker').datepicker('setStartDate', new Date());
juga kami dapat menonaktifkan hari-hari mendatang
$('#datepicker').datepicker('setEndDate', new Date());
sumber
atur atribut startDate dari datepicker, berfungsi, di bawah ini adalah kode kerja
$(function(){ $('#datepicker').datepicker({ startDate: '-0m' //endDate: '+2d' }).on('changeDate', function(ev){ $('#sDate1').text($('#datepicker').data('date')); $('#datepicker').datepicker('hide'); }); })
sumber
Dokumentasi jQuery API - datepicker
Tanggal minimum yang dapat dipilih. Jika disetel ke
null
, tidak ada minimum.Beberapa jenis didukung:
Tanggal: Objek tanggal yang berisi tanggal minimum.
Nomor: Jumlah hari dari hari ini. Misalnya
2
mewakilitwo days
dari hari ini dan-1
mewakiliyesterday
.String: String dalam format yang ditentukan oleh
dateFormat
opsi, atau tanggal relatif.Tanggal relatif harus berisi pasangan nilai dan periode; periode yang valid adalah
y
untukyears
,m
untukmonths
,w
untukweeks
, dand
untukdays
. Misalnya,+1m +7d
mewakilione month and seven days
daritoday
.Agar tidak menampilkan tanggal sebelumnya selain hari ini
$('#datepicker').datepicker({minDate: 0});
sumber
Atribut " mindate " harus digunakan untuk menonaktifkan tanggal yang lewat di jquery datepicker.
Ex: $(function() { $( "#datepicker" ).datepicker({minDate: new Date()}); });
ATAU
$(function() { $( "#datepicker" ).datepicker({minDate: 0}); });
sumber
cukup ganti kode Anda:
kode lama:
$("#dateSelect").datepicker({ showOtherMonths: true, selectOtherMonths: true, changeMonth: true, changeYear: true, showButtonPanel: true, dateFormat: 'yy-mm-dd' });
kode baru:
$("#dateSelect").datepicker({ showOtherMonths: true, selectOtherMonths: true, changeMonth: true, changeYear: true, showButtonPanel: true, dateFormat: 'yy-mm-dd', minDate: 0 });
sumber
Dengan pengaturan
startDate: new Date()
$('.date-picker').datepicker({ defaultDate: "+1w", changeMonth: true, numberOfMonths: 1, ... startDate: new Date(), });
sumber
Saya telah membuat fungsi untuk menonaktifkan tanggal sebelumnya, menonaktifkan hari akhir pekan yang fleksibel (Seperti Sabtu, Minggu)
Kami menggunakan metode beforeShowDay dari plugin jQuery UI datepicker.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> var NotBeforeToday = function(date) { var now = new Date(); //this gets the current date and time if (date.getFullYear() == now.getFullYear() && date.getMonth() == now.getMonth() && date.getDate() >= now.getDate() && (date.getDay() > 0 && date.getDay() < 6) ) return [true,""]; if (date.getFullYear() >= now.getFullYear() && date.getMonth() > now.getMonth() && (date.getDay() > 0 && date.getDay() < 6)) return [true,""]; if (date.getFullYear() > now.getFullYear() && (date.getDay() > 0 && date.getDay() < 6)) return [true,""]; return [false,""]; } jQuery("#datepicker").datepicker({ beforeShowDay: NotBeforeToday });
Di sini tanggal hari ini adalah 15 September. Saya telah menonaktifkan hari Sabtu dan Minggu.
sumber
Anda harus mendeklarasikan tanggal sekarang menjadi variabel seperti ini
$(function() { var date = new Date(); var currentMonth = date.getMonth(); var currentDate = date.getDate(); var currentYear = date.getFullYear(); $('#datepicker').datepicker({ minDate: new Date(currentYear, currentMonth, currentDate) }); })
sumber
$( "#date" ).datetimepicker({startDate:new Date()}).datetimepicker('update', new Date());
new Date()
: Fungsi mendapatkan tanggal hari ini tanggal sebelumnya terkunci. 100% bekerjasumber
Anda cukup menggunakan
startDate: 'today'
itu bekerja dengan baik untuk saya.
sumber