【发布时间】:2019-12-24 09:03:56
【问题描述】:
E&P Plugin for WordPress的cmets中的学习示例
我自己发现了一些错误,但仍然无法使代码工作。
案例:从选择字段 (5|7|14|30|60) 中选择到达日期(日期选择器)和计划持续时间(以天为单位)。生成出发日期
插件所有者的这段代码根本不说话
jQuery(document).ready(function(){
jQuery('[data-title="Departure"]').on('change',checkDates);
jQuery('[data-title="Program"]').on('change',checkDates);
});
function checkDates(){
var nbDays = jQuery('[data-title="Program"] option:selected').attr('data-price');
var startDate = moment(jQuery('[data-title="Arrival"]').datetimepicker('getDate'));
var endDate = startDate.subtract(nbDays,'days');
jQuery('[data-title="Departure"]').datetimepicker('setDate',endDate.toDate());
}
从第一个视图我发现他使用subtract而不是add
我使用https://momentjs.com/docs/ 和Format date and Subtract days using Moment.js
var startdate = moment();
startdate = startdate.subtract(1, "days");
相等
var startdate = moment().subtract(1, "days");
所以这是我的版本:
jQuery(document).ready(function(){
jQuery('[data-title="Arrival"]').on('change',checkDates);
jQuery('[data-title="Program"]').on('change',checkDates);
});
function checkDates(){
var nbDays = jQuery('[data-title="Program"] option:selected').attr('data-price');
var startDate = moment(jQuery('[data-title="Arrival"]').datetimepicker('getDate'));
var endDate = moment().add(nbDays,'days');
jQuery('[data-title="Departure"]').datetimepicker('setDate',endDate.toDate());
}
仍然没有重新计算出发日期on.click 并没有正确计算天数
【问题讨论】:
-
attr('data-price')正确吗?仅从属性的命名来看,它似乎与日期无关。要检查每个值是否符合您的预期,您可以console.log变量并在浏览器控制台中检查它们。 -
这是一个文件名,存储天数如 7|14|30 等。
标签: javascript jquery momentjs