功能需求如下:
1) 使用 datetimeBox 日期控件,选择开始日期 startdate, 结束日期 leavedate ,然后求两日期间相隔天数 numdays ;
2) 天数 x 补助 = 包干费用; (numdays * allowance = def11 )
下面是效果图:
一. form 表单:开始时间,结束时间两个都使用 onChange 事件;
rush:js;">
Box" id="numdays" name="numdays" data-options="onChange:onSelectT"
precision="0" min="0" readonly ="readonly"/>
Box" precision="0" min="0">Box" precision="0" min="0" readonly ="readonly">
二.计算相隔天数
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); //所用天数 */
}
}
}
三.计算费用
rush:js;">
$(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
rush:js;">
function addMethod() {
initialise(); //调用初始化函数
onSelectT();//计算相隔时间天数
day = 0;// .form("clear");方法不能成功清除上次缓存。所以在添加方法中重新声明 day = 0,作用是第二次点击添加时,将上次的天数重置为 0 天,
替代 .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 取两个日期间相隔的天数。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。