我正在使用jquery-ui制作用户输入的疫苗计划。
以下是疫苗的Schedule
:
这里,d =天,m =月,y =年。
以下是Schedule Form
,其中可以制作上述日程表的日期:
您可以看到,如果用户将01/09/2015
设置为Date of Birth
,那么1 day after Birth
02/09/2015
为Anti Rabies Vaccine - 1st Dose
另一方面,对于相同的Date of Birth
,出生后10年应为01/09/2015
,即Cervical Cancer - 1st Dose
。但是我的日程安排形式是给第一剂量02/09/2015
Hepatitis-A (Adult) - 1st Dose
也是如此。
因此,从Date of Birth
计算,1st Dose of Cervical Cancer
从1st Dose of Anti Rabies Vaccine
和1st Dose of Hepatitis-A (Adult)
开始计算疫苗从1st Dose of Cervical Cancer
疫苗计算,而不是根据出生日期计算。
这是因为在我的jQuery代码中,我将选定的出生日期声明为变量var date2
。这个date2
在代码的后半部分正在发生变化,而我使用的方程var date1=date2
不应该是。我想告诉jQuery引擎让date1是date2,但它改变了date2本身的值。如果这可以修复,即date2的值可以保持不变,那么jQuery代码将按照我的预期工作。但我无法弄清楚为什么date2的值通过等式var date1=date2
更改为date1的值。
我没有在这里提到完整的jQuery代码,而是给出了一个jsfiddle,其中显示了所有HTML,CSS以及jQuery代码。
请点击此链接进行测试:
答案 0 :(得分:1)
这是因为您根据之前的日期设置了日期。查看您的上一个功能行:
$(this).datepicker('setDate', date1);
在第一行之后,date1
是生日后的第1天。这会抛弃图表其余部分的计算结果。
要修复它,我建议使用jQuery的.data()
方法存储日期,然后将其重置为每行末尾的生日。
但这真的是一个问题吗?毕竟,谁想在生日那天拍摄? :)