溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

jQueryeasyui 中如何使用datetimebox 取兩個(gè)日期間相隔的天數(shù)

發(fā)布時(shí)間:2020-09-19 15:54:21 來(lái)源:腳本之家 閱讀:270 作者:心晴天 欄目:web開發(fā)

功能需求如下:

  1) 使用 datetimebox 日期控件, 選擇開始日期 startdate, 結(jié)束日期 leavedate ,然后求兩日期間相隔天數(shù) numdays ;

  2) 天數(shù) x 補(bǔ)助 = 包干費(fèi)用; (numdays * allowance = def11 )

下面是效果圖:

jQueryeasyui 中如何使用datetimebox 取兩個(gè)日期間相隔的天數(shù)

一. form 表單:開始時(shí)間,結(jié)束時(shí)間兩個(gè)都使用 onChange 事件;

<td>派遣時(shí)間:</td> 
<td><input class="easyui-datetimebox" id="startdate" name="startdate" data-options="onChange:onSelectT" /></input></td> 
<td>離開客戶處時(shí)間:</td> 
<td><input class="easyui-datetimebox" id="leavedate" name="leavedate" data-options="onChange:onSelectT" /></input></td> 
<td>售后所用天數(shù):</td> 
<td><input class="easyui-numberbox" id="numdays" name="numdays" data-options="onChange:onSelectT" 
  precision="0" min="0" readonly ="readonly"/></input> 
</td> 
  <td>補(bǔ)助:</td> 
<td><input name="allowance" id="allowance" class="easyui-numberbox" precision="0" min="0"></td> 
<td>包干費(fèi)用:</td> 
<td><input name="def11" id="def11" class="easyui-numberbox" precision="0" min="0" readonly ="readonly"></td> 

二.計(jì)算相隔天數(shù)

//計(jì)算日期方法: 
function onSelectT(d) { 
   var sd = $('#startdate').datebox('getValue').replace(/-/g, '/'), ed = $('#leavedate').datebox('getValue').replace(/-/g, '/'); 
   if (sd != '' && ed != '') { 
    if (sd > ed) { 
    $.messager.alert('警告','結(jié)束時(shí)間要 大于 開始時(shí)間','warning'); 
     } else { 
     var totalMS = new Date(ed).getTime() - new Date(sd).getTime();//得到相差的毫秒數(shù) 
      day = Math.ceil(totalMS / 1000 / 24 / 60 / 60);//得到相差天數(shù),不滿一天不算一天將Math.ceil改為Math.floor 
      $("#numdays").numberbox("setValue", day); //所用天數(shù) */ 
      } 
   } 
   } 

三.計(jì)算費(fèi)用

$(function() { 
    
 //(根據(jù) 售后天數(shù) *補(bǔ)助)計(jì)算包干費(fèi)用 
 $("input",$("#allowance").next("span")).blur(function(){//鼠標(biāo)離開 '補(bǔ)助' 欄后,觸發(fā) 
 var adays =$("#numdays").numberbox('getValue');//天數(shù) 
 var abz =$("#allowance").numberbox('getValue');//補(bǔ)助 
 var abaogan = adays * abz;//(售后天數(shù)*補(bǔ)助=包干費(fèi)用) 
 $("#def11").numberbox('setValue', abaogan);//包干費(fèi)用 
 }); 
  }) 

接下來(lái)是應(yīng)用 (一些需要注意的細(xì)節(jié)):

                (1)定義全局變量 day

var day = 0;//默認(rèn)為 day = 0 

                (2)添加方法();

function addMethod() { 
  initialise(); //調(diào)用初始化函數(shù) 
  onSelectT();//計(jì)算相隔時(shí)間天數(shù) 
  day = 0;// .form("clear");方法不能成功清除上次緩存。所以在添加方法中重新聲明 day = 0,作用是第二次點(diǎn)擊添加時(shí),將上次的天數(shù)重置為 0 天, 
<span > </span>替代 .form("clear"); 
   $('#editWindow').dialog('open').dialog('center').dialog('setTitle', '添加派遣單信息'); 
   $('#eidtform').form("clear"); 
  $("#allowance").numberbox("setValue", 0); //補(bǔ)助 
  $("#numdays").numberbox("setValue", 0); //添加默認(rèn)塞值 (所用天數(shù)) 
  $("#def11").numberbox("setValue", 0); //包干費(fèi)用 
  $('#editWindow').window("open"); 
 } 

以上所述是小編給大家介紹的jQueryeasyui 中如何使用datetimebox 取兩個(gè)日期間相隔的天數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI