欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数

程序员文章站 2022-07-05 20:45:27
功能需求如下:   1) 使用 datetimebox 日期控件, 选择开始日期 startdate, 结束日期 leavedate ,然后求两日期间相隔天数...

功能需求如下:

  1) 使用 datetimebox 日期控件, 选择开始日期 startdate, 结束日期 leavedate ,然后求两日期间相隔天数 numdays ;

  2) 天数 x 补助 = 包干费用; (numdays * allowance = def11 )

下面是效果图:

jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数

一. form 表单:开始时间,结束时间两个都使用 onchange 事件;

<td>派遣时间:</td> 
<td><input class="easyui-datetimebox" id="startdate" name="startdate" data-options="onchange:onselectt" /></input></td> 
<td>离开客户处时间:</td> 
<td><input class="easyui-datetimebox" id="leavedate" name="leavedate" data-options="onchange:onselectt" /></input></td> 
<td>售后所用天数:</td> 
<td><input class="easyui-numberbox" id="numdays" name="numdays" data-options="onchange:onselectt" 
  precision="0" min="0" readonly ="readonly"/></input> 
</td> 
  <td>补助:</td> 
<td><input name="allowance" id="allowance" class="easyui-numberbox" precision="0" min="0"></td> 
<td>包干费用:</td> 
<td><input name="def11" id="def11" class="easyui-numberbox" precision="0" min="0" readonly ="readonly"></td> 

二.计算相隔天数

//计算日期方法: 
function onselectt(d) { 
   var sd = $('#startdate').datebox('getvalue').replace(/-/g, '/'), ed = $('#leavedate').datebox('getvalue').replace(/-/g, '/'); 
   if (sd != '' && ed != '') { 
    if (sd > ed) { 
    $.messager.alert('警告','结束时间要 大于 开始时间','warning'); 
     } else { 
     var totalms = new date(ed).gettime() - new date(sd).gettime();//得到相差的毫秒数 
      day = math.ceil(totalms / 1000 / 24 / 60 / 60);//得到相差天数,不满一天不算一天将math.ceil改为math.floor 
      $("#numdays").numberbox("setvalue", day); //所用天数 */ 
      } 
   } 
   } 

三.计算费用

$(function() { 
    
 //(根据 售后天数 *补助)计算包干费用 
 $("input",$("#allowance").next("span")).blur(function(){//鼠标离开 '补助' 栏后,触发 
 var adays =$("#numdays").numberbox('getvalue');//天数 
 var abz =$("#allowance").numberbox('getvalue');//补助 
 var abaogan = adays * abz;//(售后天数*补助=包干费用) 
 $("#def11").numberbox('setvalue', abaogan);//包干费用 
 }); 
  }) 

接下来是应用 (一些需要注意的细节):

                (1)定义全局变量 day

var day = 0;//默认为 day = 0 

                (2)添加方法();

function addmethod() { 
  initialise(); //调用初始化函数 
  onselectt();//计算相隔时间天数 
  day = 0;// .form("clear");方法不能成功清除上次缓存。所以在添加方法中重新声明 day = 0,作用是第二次点击添加时,将上次的天数重置为 0 天, 
<span style="white-space:pre"> </span>替代 .form("clear"); 
   $('#editwindow').dialog('open').dialog('center').dialog('settitle', '添加派遣单信息'); 
   $('#eidtform').form("clear"); 
  $("#allowance").numberbox("setvalue", 0); //补助 
  $("#numdays").numberbox("setvalue", 0); //添加默认塞值 (所用天数) 
  $("#def11").numberbox("setvalue", 0); //包干费用 
  $('#editwindow').window("open"); 
 } 

以上所述是小编给大家介绍的jqueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数,希望对大家有所帮助