jQuery动态Datepicker。我无法显示日期值

时间:2014-12-23 16:18:38

标签: javascript jquery jquery-ui datepicker

我有一张表在每一行中显示一个日期选择器,在选择后,他们必须在另一列中打印相同的日期加上60天。我已经在加载表单时完成了这项工作,但是当编辑了datepickers字段时我无法使其工作,并且必须在新的60天以上显示新的日期字段。

这就是我所拥有的:

collectionHolder.find('tr').each(function() {
    $(this).find('input[id$=_fechaQuedan]').datepicker({
                    dateFormat: "dd-mm-yy",
                    onSelect: function(date){
                        // alert('hola'+ this.datepicker('getDate'));
                        alert('ID'+$(this).attr('id'));
                        alert($(this).datepicker('getDate'));

                    }
    });
});

这里的事情是在尝试使用PLUNKER时

alert($(this).datepicker('getDate'));

这一行像魅力一样,但在我的代码中包含所有动态字段我无法得到显示我的NULL值的日期。

EDITED 添加后

alert( $(this).val( $(this).datepicker('getDate') ) );

现在我得到[object Object]

现在选择字段后设置dd / mm / yy而不保留所选日期。

2 个答案:

答案 0 :(得分:1)

尝试替换:

alert($(this).datepicker('getDate'));

使用:

$(this).val( $(this).datepicker('getDate') );

它应该有效!

答案 1 :(得分:0)

这是我解决问题的方法。我花了一段时间来解决所有案件。这部分代码在文档准备就绪时解决了

此代码位于文档就绪功能之外。这样做可以为日期添加超过30天。

Date.prototype.addDays = function(days) {
    this.setDate(this.getDate() + days);
    return this;
};

当document.ready()时,此代码在我的代码中找到其id以_fechaQuedan结尾的每个日期,并将onSelect事件添加到表中行内的每个字段

$(this).find('input[id$=_fechaQuedan]').datepicker({
                dateFormat: 'yy-mm-dd',
                onSelect: function(date){

                    var fechQueVenAux = $(this).datepicker('getDate');
                    var d = new Date();

                    d.setDate(fechQueVenAux.getDate());
                    d.setMonth(fechQueVenAux.getMonth());
                    d.setFullYear(fechQueVenAux.getFullYear());
                    d.addDays(60);
                    var curr_date = d.getDate();
                    var curr_month = d.getMonth() + 1;
                    var curr_year = d.getFullYear();

                    var divFechaVencimiento = curr_date + " / " + curr_month + " / " + curr_year;
                                                                      $(this).closest('td').next('td').find('div#fechaVencimiento').html(divFechaVencimiento);

                    $(this).datepicker('setDate', $(this).datepicker('getDate'));
                }
        });

为了将所选日期显示在警报中,我必须使用

alert(divFechaVencimiento);

在选择我必须使用的日期

后,将选定字段显示在日期选择器中
$(this).datepicker('setDate', $(this).datepicker('getDate'));

此代码在选定日期添加60天,其中jquery ui datepicker位于表中,动态添加了许多行

问候。