同图片一样
比如说提取提起后面的下拉款是七天
完了输入金额(10000) 不选择上浮(可选可不选) 相差天数= 用提取日期-存入日期也就是
2016-5-31 - 2016-5-16 = 15天 (提取日期不可小于存入日期)
下面图片的出了 7天的利息是 2.14 因为相差天数 是15天 也就是 2个七天 一个一天
所以我想得到的是 2个七天的利息 和一个 活期的利息 的总额
下面是我的代码 求大神看看那写错了
你改下 function getDays1() 这个函数返回 有多少个
<option value="1">1天</option>
<option value="7">7天</option>
<option value="90">3个月</option>
<option value="180"> 6个月</option>
<option value="365">1年</option>
<option value="730">2年</option>
<option value="1095">3年</option>
<option value="1825">5年</option>
这种就行了
//计算截止改变后和起止相差的天数
function getDays1() {
var s1 = $("#EntTime32").val();
var s2 = $("#EntTime31").val();
if (!/^\d{4}(-\d{1,2}){2}$/.test(s1) || !/^\d{4}(-\d{1,2}){2}/.test(s2)) return 0;//格式错误直接返回0
var d1 = new Date(s1.replace(/[\-\.]/g, '/'));
var d2 = new Date(s2.replace(/[\-\.]/g, '/'));
var ms = Math.abs(d2.getTime() - d1.getTime());//毫秒
var d = ms / 1000 / 60 / 60 / 24;//转为天
var data = { '5年': 0, '3年': 0, '2年': 0, '1年': 0, '6个月': 0, '3个月': 0, '7天': 0, '1天': 0 };
data['5年'] = Math.floor(d / 1825); d -= data['5年'] * 1825;
data['3年'] = Math.floor(d / 1095); d -= data['3年'] * 1095;
data['2年'] = Math.floor(d / 730); d -= data['2年'] * 730;
data['1年'] = Math.floor(d / 365); d -= data['1年'] * 365;
data['6个月'] = Math.floor(d / 180); d -= data['6个月'] * 180;
data['3个月'] = Math.floor(d / 90); d -= data['3个月'] * 90;
data['7天'] = Math.floor(d / 7); d -= data['7天'] * 7;
data['1天'] = d;
return d;
}
//计算提取日期
$("#bizhong,#input1,#shangfu,#EntTime31,#EntTime32").change(function () {
var time = $("#time option:selected").val();
var sf1 = $("#shangfu option:selected").val();
var bz = $("#bizhong option:selected").val();
var money1 = $("#input1").val();
var day = getDays1();//获取相差天数
//自己根据 5年,3年之类的进行计算。。
var day1 = day['1天']//
var day7=day['7天']
//......
js
$(document).ready(function() {
//初始化存入日期
var d = new Date();
var s2 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
$('#EntTime32').val(s2);
//计算截止改变后和起止相差的天数
function getDays1() {
var s1 = $("#EntTime32").val();
var s2 = $("#EntTime31").val();
if (!/^\d{4}(-\d{1,2}){2}$/.test(s1) || !/^\d{4}(-\d{1,2}){2}/.test(s2)) return 0;//格式错误直接返回0
var d1 = new Date(s1.replace(/[\-\.]/g, '/'));
var d2 = new Date(s2.replace(/[\-\.]/g, '/'));
var ms = Math.abs(d2.getTime() - d1.getTime());//毫秒
var d = ms / 1000 / 60 / 60 / 24;//转为天
return d;
}
//计算提取日期
$("#time").change(function () {
var time = $("#time option:selected").val();
var d = new Date($("#EntTime32").val().replace(/-/g, "/"));
d.setDate(parseInt(d.getDate()) + parseInt(time));
var s1 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
$('#EntTime31').val(s1);
});
//计算提取日期
$("#bizhong,#input1,#shangfu,#EntTime31,#EntTime32").change(function () {
var time = $("#time option:selected").val();
var sf1 = $("#shangfu option:selected").val();
var bz = $("#bizhong option:selected").val();
var money1 = $("#input1").val();
var day = getDays1();//获取相差天数
alert(day);
var huoqi = (day%cunqi)/360; //获取多出天数
alert(huoqi);
//人民币
if(bz == 1){
var huoqililv = 0.35/100;//活期利率
//一天的利息与多出来的活期利息
if(time == 1 ){
var yt = 0.55;
if (sf1 != 0) {
sum2 = money * (1 / 360) * (sf / 100) * (yt / 100);
} else {
sum2 = money * (1 / 360) * (yt / 100);
}
var lx = money1*(times*yt+huoqi*huoqililv)/100; //利息
var lxs = lx+sum2
var sum1 = money1+lxs;
$("#li").val(lxs.toFixed(2));
$("#bxhj").val(sum1.toFixed(2));
}
}
var d = new Date($("#EntTime32").val().replace(/-/g, "/"));
d.setDate(parseInt(d.getDate()) + parseInt(time));
var s1 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
$('#EntTime31').val(s1);
});
});
html
<table cellpadding="0" cellspacing="1" >
<thead>
<tr class="gx" >
<td><span id="sp1">*</span>存入金额 </td>
<td>
<input type="text" class="cc4" id="input1" />
(必输项)
</td>
</tr>
</thead>
<tbody>
<tr>
<td>上浮区间 </td>
<td >
<select id="shangfu" style="width:20%;height:35px;margin-left:20px; padding-left:5px;">
<option>0</option>
<option>10</option>
<option>20</option>
<option>30</option>
</select><span>%</span>
</td>
</tr>
<tr>
<td>存入日期 </td>
<td>
<input type="text" class="date" id="EntTime32" name="EntTime32" onclick="return showCalendar('EntTime32', 'y-mm-dd');" value="" /><span>请点击</span>
</td>
</tr>
<tr>
<td>提取日期 </td>
<td>
<input type="text" class="date" id="EntTime31" name="EntTime31" onBlur="changeResult1()" onclick="return showCalendar('EntTime31', 'y-mm-dd');return check()" /><span>请点击</span>
<select id="time" style="width:20%;height:35px;margin-left:20px;">
<option value="0">请选择</option>
<option value="1">1天</option>
<option value="7">7天</option>
<option value="90">3个月</option>
<option value="180"> 6个月</option>
<option value="365">1年</option>
<option value="730">2年</option>
<option value="1095">3年</option>
<option value="1825">5年</option>
</select>
</td>
</tr>
<tr>
<td>
利息
</td>
<td>
<input id = "li" type="text" class="cc3"/>元
</td>
</tr>
<tr>
<td>
本息合计
</td>
<td>
<input id="bxhj" type="text" class="cc3"/>元
</td>
</tr>
</tbody>
</table>
<input type="button" id="submit2" value="开始计算"/>
<input type="reset" class="bt" value="重置"/>
那你这代码运行的是有错还是没错啊,如果有错调试就可以了。还有涉及到金钱的好像有专门的类型的,要不然你的钱数是会四舍五入的。你可以看看相关的帮助
文档。
这里有一些资源,帮助文档
http://download.csdn.net/detail/ljheee/9510730