如何使用jQuery获取文本框上的当前日期

时间:2013-04-29 05:17:24

标签: jquery datepicker

这是我的jQuery函数,但是我无法传递当前日期并将其粘贴到我的文本框中,它只能在执行onClick时选择日期。

我需要选择当前日期并将其粘贴到我的文本框中。

    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();
    }
};

这是我的文本框

<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>

3 个答案:

答案 0 :(得分:1)

您可以通过

获取当前日期
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;

然后您可以在文本框

上指定此值

答案 1 :(得分:1)

尝试

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

您的日期格式"mm/dd/yyyy"不正确,应为"mm/dd/yy"

例如:

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();
    }
};

答案 2 :(得分:0)

例如

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