在Jquery datepicker中设置选定日期和默认日期

时间:2015-08-18 13:23:54

标签: jquery jquery-ui-datepicker

当用户选择过滤器中的选择日期并更改开始日期并按Enter键。执行列表上的过滤器并显示数据。之后如果用户打开选择日期日历,它仍将显示默认日期。如何使日期选择器将选定日期作为默认日期?有什么建议? 这是我的代码:

if ($('.js-datepicker').length) {
                    $('.js-datepicker').each(function () {
                        if ($(this).data('datepickerAltfield')) {
                            var $altfield = $(this).find('.js-datepicker-altfield');
                            var inputName = $altfield.attr("name");
                            var defaultDate = new Date();
                            if (inputName.indexOf("fromDate") >= 0) {
                                defaultDate.setDate(defaultDate.getDate() - 7);
                            }
                            $(this).datepicker({
                                altField: $altfield,
                                showOtherMonths: true,
                                firstDay: 1,
                                dayNamesMin: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ],
                                dateFormat: 'dd.mm.yy',
                                defaultDate: defaultDate
                            });
                        }
                        else {
                            $(this).datepicker();
                        }
                    });
                }

我已经尝试过onSelect方法将所选值分配给某个变量,但它没有用。

onSelect: function(dateStr) {
        $(this).datepicker('option', 'defaultDate', dateStr);

    }

1 个答案:

答案 0 :(得分:0)

也许您所寻求的是设定日期的能力?

var datestr = "10.12.2012";
$('.js-datepicker').datepicker("setDate", datestr);

使用onSelect的示例:

 ...prior datepicker options
 defaultDate: defaultDate,
 onSelect: myselect

将myselect函数设为:

function myselect(presentdate) {
    alert(presentdate);//alerts the date selected string (as 1.15.2012 for instance)
    var datestr = "10.12.2012";//new date to set
    $('.js-datepicker').datepicker("setDate", datestr);// set date
}