0

这是我的 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>
4

3 回答 3

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();
    }
};
于 2013-04-29T05:25:13.523 回答
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;

然后你可以在文本框上分配这个值

于 2013-04-29T05:20:43.687 回答
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");
});

演示

于 2013-04-29T05:36:33.573 回答