I am working on a jquery date picker. I need to select a date but after date selection from the calendar I need the date to divide into three separate drop downs. One for day one for month and one for year. Here is my jquery script.
<script type="text/javascript">
$(document).ready(function() {
$(function() {
$( "#fullDate" ).datepicker({
onClose: function(dateText, inst) {
$('#day').val( dateText.split('/')[2] );
$('#month').val( dateText.split('/')[1] );
$('#year').val( dateText.split('/')[0] );
}
});
});
});
</script>
HTML
<div class="demo">
<p>Date: <input id="fullDate" type="text" style="display:block"></p>
day:<select name="day" id="day" style="width:100px">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
month:<select name="month" id="month" style="width:100px">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
year:<select name="year" id="year" style="width:100px">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div><!-- End demo -->
Working demo please click here : ] http://jsfiddle.net/gvAbv/13/ or http://jsfiddle.net/gvAbv/8/
In demo click on the text box and select dates and bingo you will get the drop downs auto populated.
Point to note dateText.split('/')[2]
is year not day :) if you will switch over the place your code will work.
i.e. dateText.split('/')[2]
: year ; dateText.split('/')[0]
: month ; dateText.split('/')[0]
: day rest demo will help you to make it clear.
The demo has extra bits but it will help you!
code
$(function() {
$("#fullDate").datepicker({
onClose: function(dateText, inst) {
$('#year').val(dateText.split('/')[2]);
$('#month').val(dateText.split('/')[0]);
$('#day').val(dateText.split('/')[1]);
}
});
});
ANother Demo for image click: http://jsfiddle.net/zwwY7/
code
$(function() {
$("#fullDate").datepicker({
buttonImage: 'icon_star.jpg',
buttonImageOnly: true,
onClose: function(dateText, inst) {
$('#year').val(dateText.split('/')[2]);
$('#month').val(dateText.split('/')[0]);
$('#day').val(dateText.split('/')[1]);
}
});
});
Images
Use the datepicker onselect method to get the date values you need :: onselect info
Like:
onSelect: function(dateText, inst) {
var datePieces = dateText.split('/');
var month = datePieces[0];
var day = datePieces[1];
var year = datePieces[2];
//define select option values for
//corresponding element
$('select#month').val(month);
$('select#day').val(day);
$('select#year').val(year);
}
Did you mean something like that
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With