soundsticks
soundsticks

Reputation: 11

How to using jQuery to get current date on textbox

This is my jQuery function but I'm not able to pass the current date and paste it into my textbox, it only able to select the date when doing onClick.

What is need is I would like to select the current date and paste it into my textbox.

    gebo_datepicker = {
    init: function() {
        $('#dp1').datepicker();
        $('#dp2').datepicker();

        $('#dp_start').datepicker({format: "mm/dd/yyyy"}).on('changeDate', function(ev){
            var dateText = $(this).data('date');

            var endDateTextBox = $('#dp_end input');
            if (endDateTextBox.val() != '') {
                var testStartDate = new Date(dateText);
                var testEndDate = new Date(endDateTextBox.val());
                if (testStartDate > testEndDate) {
                    endDateTextBox.val(dateText);
                }
            }
            else {
                endDateTextBox.val(dateText);
            };
            $('#dp_end').datepicker('setStartDate', dateText);
            $('#dp_start').datepicker('hide');
        });
        $('#dp_end').datepicker({format: "mm/dd/yyyy"}).on('changeDate', function(ev){
            var dateText = $(this).data('date');
            var startDateTextBox = $('#dp_start input');
            if (startDateTextBox.val() != '') {
                var testStartDate = new Date(startDateTextBox.val());
                var testEndDate = new Date(dateText);
                if (testStartDate > testEndDate) {
                    startDateTextBox.val(dateText);
                }
            }
            else {
                startDateTextBox.val(dateText);
            };
            $('#dp_start').datepicker('setEndDate', dateText);
            $('#dp_end').datepicker('hide');
        });
        $('#dp_modal').datepicker();
    }
};

And this is my textbox

<div class="input-append date" id="dp_start">
<input class="span9" type="text" readonly="readonly" placeholder="Date Start" /><span class="add-on"><i class="splashy-calendar_day_up"></i></span>
</div>

Upvotes: 0

Views: 11803

Answers (3)

Amit
Amit

Reputation: 15387

For example

HTML

<input type="text" id="stDate"/>

JS

$(function(){
$("#stDate").datepicker({ dateFormat: 'mm/dd/yy', 
                          changeMonth: true,
                          changeYear: true,
                          yearRange: '-70:+10',
                          constrainInput: false,
                          duration: '',
                          gotoCurrent: true}).datepicker('setDate',"0");
});

Demo

Upvotes: 0

Arun P Johny
Arun P Johny

Reputation: 388316

Try

$('#dp_start').val($.datepicker.formatDate( "mm/dd/yy", new Date()))

Your date format "mm/dd/yyyy" is not correct, it should be "mm/dd/yy"

Ex:

gebo_datepicker = {
    init: function() {
        $('#dp1').datepicker();
        $('#dp2').datepicker();

        //set the current date for dp_start
        $('#dp_start').val($.datepicker.formatDate( "mm/dd/yy", new Date()))
        $('#dp_start').datepicker({format: "mm/dd/yyyy"}).on('changeDate', function(ev){
            var dateText = $(this).data('date');

            var endDateTextBox = $('#dp_end input');
            if (endDateTextBox.val() != '') {
                var testStartDate = new Date(dateText);
                var testEndDate = new Date(endDateTextBox.val());
                if (testStartDate > testEndDate) {
                    endDateTextBox.val(dateText);
                }
            }
            else {
                endDateTextBox.val(dateText);
            };
            $('#dp_end').datepicker('setStartDate', dateText);
            $('#dp_start').datepicker('hide');
        });
        $('#dp_end').datepicker({format: "mm/dd/yyyy"}).on('changeDate', function(ev){
            var dateText = $(this).data('date');
            var startDateTextBox = $('#dp_start input');
            if (startDateTextBox.val() != '') {
                var testStartDate = new Date(startDateTextBox.val());
                var testEndDate = new Date(dateText);
                if (testStartDate > testEndDate) {
                    startDateTextBox.val(dateText);
                }
            }
            else {
                startDateTextBox.val(dateText);
            };
            $('#dp_start').datepicker('setEndDate', dateText);
            $('#dp_end').datepicker('hide');
        });
        $('#dp_modal').datepicker();
    }
};

Upvotes: 1

Linga
Linga

Reputation: 10555

You can get the current date by

var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var output = d.getFullYear() + '/' +
(month<10 ? '0' : '') + month + '/' +
(day<10 ? '0' : '') + day;

Then you can assign this value on textbox

Upvotes: 1

Related Questions