js-无法进行计算??????

问题描述

无法进行计算??????
 //获取天数
    function getDays(s1, s2) {
        var s1 = $("#EntTime31").val('');
        var s2 = $("#EntTime30").val('');
        var d1 = new Date(s2.replace(/-/g, '/'));
        var d2 = new Date(s1.replace(/-/g, '/'));
        var ms = Math.abs(d2.getTime() - d1.getTime());//毫秒
        var d = ms / 1000 / 60 / 60 / 24;//转为天
        return d;
    }

         $(document).ready(function () {

        //显示当前日期
        var d = new Date();
        var s2 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        $('#EntTime30').val(s2);

        //显示截止日期
        var d = new Date();
        var s1 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        $('#EntTime31').val(s1);
     $("#input,#input1").change(function () { $(':radio[id^="1-"]:checked').trigger('click');
            var day = getDays();
             Costcalculator3(input,input1,day );
        });

});
//计算逾期违约金
function Costcalculator3(input,input1,day ){
        input = parseFloat(input) || 0;
        input1 = parseFloat(input) || 0;
        day = parseFloat(day) || 0;

        var lj5 = 0;
        lj5 = input*input1/100*day*2;
        $("#lj5").val(lj5);
        }


算不了 是获取天数那快没参数 还是怎么的 在我的基础上改 谢谢

input 是金额 input1 是利率

错误在下面的图片

解决方案

还有

   $("#input,#input1").change(function () {
     //你这个应该是 利率选项吧,不过代码中并没有体现利率选项更改之后是否重新赋值。
                $(':radio[id^="1-"]:checked').trigger('click'); 

            var day = getDays();
                        你这里的input和 input1数据从哪里来的,没有取值
                       var input= $("#input").val();
                          var input1= $("#input1").val();
             Costcalculator3(input,input1,day );
        });

你把你代码重新检查检查,然后打印出 标的金额*利率*(截止日期-起算日期)*2 的每一个变量
然后知道那一个出错就找那一个的源头。

解决方案二:

var s1 = $("#EntTime31").val('');
var s2 = $("#EntTime30").val('');
var d1 = new Date(s2.replace(/-/g, '/'));
var d2 = new Date(s1.replace(/-/g, '/'));

            这个干嘛用的 。

            你 可以
             var s1 = $("#EntTime31").val();
    var s2 = $("#EntTime30").val(); 

            这里的单引号去掉看看,

解决方案三:

你先打印出来看看数据对不,
其次input1 这个少了个1
input = parseFloat(input) || 0;
input1 = parseFloat(**input1**) || 0;

function getDays( ) {
        var s1 = $("#EntTime31").val('');
        var s2 = $("#EntTime30").val('');
        var d1 = new Date(s2.replace(/-/g, '/'));
        var d2 = new Date(s1.replace(/-/g, '/'));
        var ms = Math.abs(d2.getTime() - d1.getTime());//毫秒
        var d = ms / 1000 / 60 / 60 / 24;//转为天
        return d;
    }

         $(document).ready(function () {

        //显示当前日期
        var d = new Date();
        var s2 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        $('#EntTime30').val(s2);

        //显示截止日期
        var d = new Date();
        var s1 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        $('#EntTime31').val(s1);
     $("#input,#input1").change(function () { $(':radio[id^="1-"]:checked').trigger('click');
            var day = getDays();
             Costcalculator3(input,input1,day );
        });

});
//计算逾期违约金
function Costcalculator3(input,input1,day ){
        input = parseFloat(input) || 0;
        input1 = parseFloat(input1) || 0;
        day = parseFloat(day) || 0;

alert(input);
alert(input1);
alert(day);
        var lj5 = 0;
        lj5 = input*input1/100*day*2;
        $("#lj5").val(lj5);
        }

解决方案四:

$("#input,#input1").change(function () { $(':radio[id^="1-"]:checked').trigger('click');

把 2个日期再传进去看看。
$("#input,#input1,#EntTime30,#EntTime31").change(function () { $(':radio[id^="1-"]:checked').trigger('click');

解决方案五:

 $("#input,#input1").change(function () { $(':radio[id^="1-"]:checked').trigger('click');
            var day = getDays();
            var input= $("#input").val();
            var input1= $("#input1").val();
             Costcalculator3(input,input1,day );
             Costcalculator2(input,input1,day );
             Costcalculator1(input,input1,day );
        })

        function Costcalculator3(input,input1,day ){
        input = parseFloat(input) || 0;
        input1 = parseFloat(input1) || 0;
        day = parseFloat(day) || 0;

        var lj5 = 0;
        lj5 = [(input*input1/100)*day]*2;
        $("#lj5").val(lj5);

        var lj12 = 0;
        lj12 = (input*input1/100)*day;
        $("#lj12").val(lj12);
        }

    function Costcalculator2(input,input1,day ){
        input = parseFloat(input) || 0;
        input1 = parseFloat(input1) || 0;
        day = parseFloat(day) || 0;

        var lj5 = 0;
        lj5 = [(input*input1/100)*day]*2/12;
        $("#lj5").val(lj5);

        var lj12 = 0;
        lj12 = (input*input1/100)*day12;
        $("#lj12").val(lj12);
        }

        html
        <tr>
                                                                                                        <td>利率选项: </td>
                                                                                                      <td>
                                                <div class="sortNum">
                                                    <input type="radio" id="1-5" class="sortNum1" name="standard1" onclick="Costcalculator1(parseFloat($('#input').val()) || 0, parseFloat($('#input1').val()) || 0)" />日利率

                                                    <input type="radio" id="1-4" class="sortNum1" name="standard1" onclick="Costcalculator2(parseFloat($('#input').val()) || 0, parseFloat($('#input1').val()) || 0)" />月利率

                                                    <input type="radio" id="1-6" class="sortNum1" name="standard1" onclick="Costcalculator3(parseFloat($('#input').val()) || 0, parseFloat($('#input1').val()) || 0)" checked="checked" /> 年利率
                                                </div>

                                            </td>
                                                                                                    </tr>
时间: 2024-10-18 14:18:24

js-无法进行计算??????的相关文章

js浮点数精确计算

 本篇文章主要介绍了js浮点数精确计算(加.减.乘.除) 需要的朋友可以过来参考下,希望对大家有所帮助 代码如下: <SPAN style="FONT-SIZE: 18px">//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果.    //调用:accAdd(arg1,arg2)    //返回值:arg1加上arg2的精确结果    function accAdd(arg1,arg2){       var

Vue.js教程之计算属性_javascript技巧

Vue.js 的内联表达式非常方便,但它最合适的使用场景是简单的布尔操作或字符串拼接.如果涉及更复杂的逻辑,你应该使用计算属性. 计算属性是用来声明式的描述一个值依赖了其它的值.当你在模板里把数据绑定到一个计算属性上时,Vue 会在其依赖的任何值导致该计算属性改变时更新 DOM.这个功能非常强大,它可以让你的代码更加声明式.数据驱动并且易于维护. 通常情况下,使用计算属性会比使用过程式的$watch回调更合适.比如下面的例子: <div id="demo">{{fullNa

js中精确计算加法和减法示例

 这篇文章主要介绍了js中如何精确计算加法和减法,需要的朋友可以参考下 /精确计算加法和减法.例如0.1+0.2=0.3或 0.1-0.2=-0.1   代码如下: function addFn(dataOne,dataTwo){    var dataOneInt=dataOne.toString().split(".")[0];  var dataOneFloat="";  var dataTwoInt=dataTwo.toString().split(&quo

js 工作日 php-PHP计算一个时间段中的工作日天数

问题描述 PHP计算一个时间段中的工作日天数 目前我有一个js版本的,我想做成PHP版本的,希望大家能帮忙.结果就是一个时间段中,计算工作日天数,排除法定节假日,周末,还要加上调休.js的代码我先贴上来,请大家帮忙.因菜鸟,目前没有C币,sorry! <script src=""/Public/Js/jquery.js"" type=""text/javascript""></script><sc

用JS剩余字数计算的代码_javascript技巧

先看看HTML代码: <textarea name="description" onkeyup="checkLength(this);"></textarea> <br /><small>文字最大长度: 250. 还剩: <span id="chLeft">250</span>.</small> 可以看出onkeyup是当用户离开键盘后触发的事件,传递的参数是th

js项目周期计算、求助

问题描述 一个开始时间beginDate,一个结束时间endDate,计算项目周期,除去周六.周日和法定假日,求大虾帮助 解决方案 解决方案二:在线等,咋么没人呀呀~~~~(>_<)~~~~解决方案三:这个,,用js做貌似比较难吧,建议楼主在后台完成,解决方案四:引用2楼的回复: 这个,,用js做貌似比较难吧,建议楼主在后台完成,http://topic.csdn.net/u/20120611/11/52bcf101-667d-4e7a-b0a4-a699f7e9a0da.html 当两个时间

js中精确计算加法和减法示例_javascript技巧

/精确计算加法和减法.例如0.1+0.2=0.3或 0.1-0.2=-0.1 复制代码 代码如下: function addFn(dataOne,dataTwo){ var dataOneInt=dataOne.toString().split(".")[0]; var dataOneFloat=""; var dataTwoInt=dataTwo.toString().split(".")[0]; var dataTwoFloat="

js关于精确计算和数值格式化以及直接引js文件_javascript技巧

复制代码 代码如下: (function () { var calc = { /* 函数,加法函数,用来得到精确的加法结果 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果. 参数:arg1:第一个加数:arg2第二个加数:d要保留的小数位数(可以不传此参数,如果不传则不处理小数位数) 调用:Calc.Add(arg1,arg2,d) 返回值:两数相加的结果 */ Add: function (arg1, arg2,d) { arg1

js浮点数精确计算(加、减、乘、除)_javascript技巧

复制代码 代码如下: <SPAN style="FONT-SIZE: 18px">//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果.   //调用:accAdd(arg1,arg2)   //返回值:arg1加上arg2的精确结果   function accAdd(arg1,arg2){      var r1,r2,m;      try{r1=arg1.toString().split(".&

js 页面执行时间计算代码_时间日期

复制代码 代码如下: <script language=javascript> <!-- var startTime,endTime; var d=new Date(); startTime=d.getTime(); //--> </script> <script language=javascript>d=new Date();endTime=d.getTime ();document.write((endTime-startTime)/1000);<