2 qq 15290009 qq_15290009 于 2016.03.01 09:27 提问

无法进行计算??????
 //获取天数 
    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 是利率

错误在下面的图片
图片说明

5个回答

rui888
rui888   Ds   Rxr 2016.03.01 11:23
已采纳

还有

   $("#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 的每一个变量
然后知道那一个出错就找那一个的源头。

qq_15290009
qq_15290009 额 我们公司没领导 有也不懂 就我自己 还有一个是写页面的其他不管 不是那种专门写程序的 是自己开发自己公司用的网站 我新开个贴 你去哪里答 我吧这个结了 http://ask.csdn.net/questions/239832#answer_223512
接近 2 年之前 回复
rui888
rui888 回复热呛: 问问你们领导看看,我这里只能上技术网站,公司封网络,下载什么的。
接近 2 年之前 回复
qq_15290009
qq_15290009 回复无法显示此用户: 额 我道行浅薄 没调试出来 要不我代码发出来 你帮我调式一下 可以吗
接近 2 年之前 回复
qq_15290009
qq_15290009 在还是不在了
接近 2 年之前 回复
rui888
rui888 回复热呛: 看不出来,调试js吧。
接近 2 年之前 回复
rui888
rui888 回复热呛: 看不出来,调试js吧。
接近 2 年之前 回复
rui888
rui888 回复热呛: 看不出来,调试js吧。
接近 2 年之前 回复
qq_15290009
qq_15290009 ?????
接近 2 年之前 回复
qq_15290009
qq_15290009 也没报错误啊 那个年月日那个 也转换不了 我下面写的那个 执行计算的时候 执行 Costcalculator2(input,input1,day ){ 这个了 不执行 Costcalculator3(input,input1,day ){了 回答在开一贴 谢谢
接近 2 年之前 回复
rui888
rui888 回复热呛: 我知道你说的意思啊。放进去不好计算我也不知道你那里出现了问题。
接近 2 年之前 回复
qq_15290009
qq_15290009 回复无法显示此用户: 不是 我吧这个#EntTime30,#EntTime31 放在$("#input,#input1").change(function () { 这里了 但是他还是无法计算
接近 2 年之前 回复
rui888
rui888 你要自己学会去调试更改啊。这些都是基本的js 、dom操作。
接近 2 年之前 回复
rui888
rui888 回复热呛: 你日期改变没有重新计算,是因为你没有重新绑定change 事件。我下面代码中让你把时间传入进去就是重新计算,你光说不起作用,我真的不知道哪里有问题。
接近 2 年之前 回复
qq_15290009
qq_15290009 $("#input,#input1").change(function () {
接近 2 年之前 回复
qq_15290009
qq_15290009 应该是这块没有day的值
接近 2 年之前 回复
qq_15290009
qq_15290009 可以了 现在就差截止日期-起算日期 他俩了 他俩改变了值无法改变
接近 2 年之前 回复
qq_15290009
qq_15290009 哦哦 我在看看
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.01 10:54

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(); 

            这里的单引号去掉看看,
qq_15290009
qq_15290009 额 能是能了 但是不对 公式是这样的 标的金额*利率*(截止日期-起算日期)*2 你帮我好好看看
接近 2 年之前 回复
rui888
rui888 回复热呛: 上面的错误就是s2 的错误 , var s1 = $("#EntTime31").val(); var s2 = $("#EntTime30").val(); alert(s2); 看看s2 是什么
接近 2 年之前 回复
qq_15290009
qq_15290009 能计算了 但是计算的数字好离谱啊
接近 2 年之前 回复
qq_15290009
qq_15290009 var s1 = $("#EntTime31").val(''); var s2 = $("#EntTime30").val(''); 原本是没有这个的 但是显示错误 无法定义 我就给加上了 可是一样
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.01 11:15

你先打印出来看看数据对不,
其次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);
        } 
qq_15290009
qq_15290009 额 是对的 那个天数是对的 我把那个1加上了 到计算不了
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.01 11:54

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

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

qq_15290009
qq_15290009 我贴在下面
接近 2 年之前 回复
qq_15290009
qq_15290009 还有就是 不有个年月日 选项吗 那个改变 计算不了啊 之前是这样的http://ask.csdn.net/questions/238664 但是经理说不是那个意思 是光最下面的俩 也就是这个图片显示的那个 用到 我现在改了 但是转换不了 你看看 谢谢
接近 2 年之前 回复
qq_15290009
qq_15290009 试了 不好使
接近 2 年之前 回复
qq_15290009
qq_15290009   2016.03.01 12:11
 $("#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>
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!