您需要使用onSelect()
datepicker 的属性来检索所选日期并更新只读字段:http ://api.jqueryui.com/datepicker/#option-onSelect
然后,您需要使用Date对象及其方法来解析所选日期,为其添加特定天数并返回与新日期对应的新文本。
<input id="nbweeks" type='number' />
<input class='datepicker' />
<input id="input-ro" class='datepicker' readonly='readonly' />
function addDaysDate(dateText, days) {
var curDate = new Date(Date.parse(dateText));
var nextDate = new Date();
nextDate .setDate(curDate.getDate() + days);
var curDay = nextDate .getDate();
var curMonth = nextDate .getMonth() + 1; //Months are zero based
var curYear = nextDate .getFullYear();
return curMonth + "-" + curDay + "-" + curYear;
}
$(function(){
$('.datepicker').datepicker({
dateFormat: 'yyyy-mm-dd',
onSelect(dateText, inst) {
var days = $("#nbweeks").val() * 7;
var newDate = addDaysDate(dateText, days)
$("#input-ro").val(newDate);
}
});
});
代码的实时示例(没有日期选择器):http: //jsfiddle.net/PcTHQ/
编辑:要小心,要让 Date.parse() 工作,我认为您需要将年份设置为四位数,或者将日期顺序更改为 mm/dd/yy