Select any two, then the third auto-fill
Text Box code:
varDowntime_root_simple ={xtype:' Numberfield ', Fieldlabel:' Duration (days) ', Name:' Plan_hours ', ID:' Plan_hours ', Allowblank:true, Readonly:flag= = 4?true:false, MaxLength:11, Anchor:' 95% ', listeners: {change:function(){ varPlan_hours = ext.getcmp ("Plan_hours"); varPlan_hours_value = ext.getcmp ("Plan_hours"). GetValue (); varPlan_end_time = ext.getcmp ("Plan_end_time"); varPlan_end_time_value = ext.getcmp ("Plan_end_time"). GetValue (); varPlan_start_time = ext.getcmp ("Plan_start_time"); varPlan_start_time_value = ext.getcmp ("Plan_start_time"). GetValue (); if(Plan_start_time.isvalid ()) {vardate_s =NewDate (Plan_start_time_value); Plan_end_time.setvalue (NewDate (Date_s.gettime () + (plan_hours_value-1) *24*60*60*1000)); } Else if(Plan_end_time.isvalid ()) {varDate_e =NewDate (Plan_end_time_value); Plan_start_time.setvalue (NewDate (Date_e.gettime ()-(plan_hours_value-1) *24*60*60*1000)); } } } };
Start Time Code:
varStart_time_root ={xtype:' Datefield ', Fieldlabel:' Start time <font color= ' red ' >*</font> ', Name:' Plan_start_time ', ID:' Plan_start_time ', Format:"Y-m-d", Allowblank:false, Editable:false, Anchor:' 95% ', listeners: {"Change":function() { varPlan_hours = ext.getcmp ("Plan_hours"); varPlan_hours_value = ext.getcmp ("Plan_hours"). GetValue (); varPlan_end_time = ext.getcmp ("Plan_end_time"); varPlan_end_time_value = ext.getcmp ("Plan_end_time"). GetValue (); varPlan_start_time = ext.getcmp ("Plan_start_time"); varPlan_start_time_value = ext.getcmp ("Plan_start_time"). GetValue (); if(Plan_start_time.isvalid ()) {vardate_s =NewDate (Plan_start_time_value); Plan_end_time.setminvalue (Plan_start_time_value); if(plan_end_time_value) {varDate_e =NewDate (Plan_end_time_value); Plan_hours.setvalue ((Date_e.gettime ()-Date_s.gettime ())/(24*60*60*1000) +1); }Else{ if(plan_hours_value) {Plan_end_time.setvalue (NewDate (Date_s.gettime () + plan_hours_value*24*60*60*1000)); } } } Else{Plan_end_time.setminvalue (NULL); } } } };
End Time Code:
varEnd_time_root ={xtype:' Datefield ', Fieldlabel:' End time <font color= ' red ' >*</font> ', Name:' Plan_end_time ', ID:' Plan_end_time ', Allowblank:false, Format:"Y-m-d", MaxLength:12, Anchor:' 95% ', listeners: {"Change":function() { varPlan_hours = ext.getcmp ("Plan_hours"); varPlan_hours_value = ext.getcmp ("Plan_hours"). GetValue (); varPlan_end_time = ext.getcmp ("Plan_end_time"); varPlan_end_time_value = ext.getcmp ("Plan_end_time"). GetValue (); varPlan_start_time = ext.getcmp ("Plan_start_time"); varPlan_start_time_value = ext.getcmp ("Plan_start_time"). GetValue (); if(Plan_end_time.isvalid ()) {varDate_e =NewDate (Plan_end_time_value); Plan_start_time.setmaxvalue (Plan_end_time_value); if(plan_start_time_value) {vardate_s =NewDate (Plan_start_time_value); Plan_hours.setvalue ((Date_e.gettime ()-Date_s.gettime ())/(24*60*60*1000) +1); }Else{ if(plan_hours_value) {Plan_start_time.setvalue (NewDate (Date_e.gettime ()-plan_hours_value*24*60*60*1000)); } } } Else{Plan_start_time.setmaxvalue (NULL); } Show_change_reason (); } } };
Extjs2.2 start time, end time, duration linkage (choose two to fill one), including the date, the number of days of mutual transfer