我有一张表在每一行中显示一个日期选择器,在选择后,他们必须在另一列中打印相同的日期加上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而不保留所选日期。
答案 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位于表中,动态添加了许多行
问候。