2 qq 15290009 qq_15290009 于 2016.03.01 16:18 提问

js出现问题,没报错,我也没调试出来

请大神们们帮我看看 俩个问题
一、年月日的选项 只能选择年 选择日月就无法计算 当然默认是年

二、当起算 跟截止改变 也算不了 还是原先的值

下面是图片
图片说明
图片说明
我把代码贴出来吧

在下面

11个回答

rui888
rui888   Ds   Rxr 2016.03.02 10:54
已采纳

改下这2个地方

getDays 参数去掉。

  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;
    }

利率加上getDays()

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

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

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

qq_15290009
qq_15290009 ok了 就这么地吧
接近 2 年之前 回复
qq_15290009
qq_15290009 ok了 就这么地吧
接近 2 年之前 回复
qq_15290009
qq_15290009   2016.03.01 16:19

html 的

 <form id="tj" class="tj">
                                                                                <div class="input">
                                                                                    <table cellpadding="0" cellspacing="1" >
                                                                                        <tbody>

                                                                                            <tr>
                                                                                                <td width="79">标的金额: </td>
                                                                                                <td width="324">
                                                                                                    <input type="text" id="input"/><span>元</span>

                                                                                                </td>

                                                                                            </tr>
                                                                                            <tr>
                                                                                                        <td>起算日期:</td>
                                                                                                        <td>
                                                                                                          <input type="text" class="date" id="EntTime30" name="EntTime30" onclick="return showCalendar('EntTime30', 'y-mm-dd');" />
                                                                                                                                                                                                                                    <span>请点击</span>

                                                                                                        </td>
                                                                                                    </tr>
                                                                                                     <tr>
                                                                                                        <td>截止日期:</td>
                                                                                                        <td>                                                                                                    
                                                                                                            <input type="text" class="date" id="EntTime31" name="EntTime31" onclick="return showCalendar('EntTime31', 'y-mm-dd');"/><span>请点击</span>


                                                                                                        </td>
                                                                                                    </tr>
                                                                                                    <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>

                                                                                                     <tr>
                                                                                                        <td>利率: </td>
                                                                                                        <td>
                                                                                                            <input type="text" id="input1"><span>%</span>

                                                                                                        </td>

                                                                                                    </tr>

                                                                                        </tbody>
                                                                                    </table>
                                                                                  <input type="reset" class="bt" value="重置"/>
                                                                                </div>
                                                                                <div class="output">
                                                                                    <h4>受理费计算结果</h4><hr class="hi"/>
                                                                                    <div class="jg" id="jg" >
                                                                                        <label class="sexLabel" for="1-5">全额</label>
                                                                                            <table cellpadding="0" cellspacing="1" >
                                                                                                <tbody>



                                                                                                    <tr>
                                                                                                        <td>延迟利息:  </td>
                                                                                                        <td><input id="lj5" type="text"/><span>元</span></td>
                                                                                                    </tr>
                                                                                                    <tr>
                                                                                                        <td>逾期违约金:  </td>
                                                                                                        <td><input id="lj6" type="text"/><span>元</span></td>
                                                                                                    </tr>
                                                                                                </tbody>
                                                                                            </table>
                                                                                         <label class="sexLabel" for="1-4">减半</label>
                                                                                         <table cellpadding="0" cellspacing="1" >
                                                                                                <tbody>


                                                                                                    <tr>
                                                                                                        <td>延迟利息:  </td>
                                                                                                        <td><input id="lj12" type="text"/><span>元</span></td>
                                                                                                    </tr>
                                                                                                    <tr>
                                                                                                        <td>逾期违约金:  </td>
                                                                                                        <td><input id="lj13" type="text"/><span>元</span></td>
                                                                                                    </tr>
                                                                                                </tbody>
                                                                                            </table>
                                                                                    </div>    
                                                                                </div>

                                                                            </form>

js的

/*
id :
   金额 input 利率 input1
全额:
   离婚 lj 人格 lj1 执行 lj2 财产 lj3 支付令 lj4 延迟 lj5 逾期 lj6
半额:
   离婚 lj7 人格 lj8 执行 lj9 财产lj10  支付令 lj11 延迟 lj12 逾期 lj13

*/

//获取天数 
    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);

        //调用id 和id值改变后重新计算
        //这个是用在别处的 就是那个 离婚什么的
        var input = parseFloat($("#input").val());
        var inprt1 = parseFloat($(" #input1").val());
        Costcalculator(input);




        $("#input").change(function () {
            input = parseFloat($(this).val());

            Costcalculator(input);
        });



        //你2个input的chagne不要只调用Costcalculator,要依据点击的利率还计算,触发下选中的radio的onclick时间就行
        $("#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 );
        })
        $('[id^="input"],[id^="lj"],[id^="lj1"],[id^="lj2"],[id^="lj3"],[id^="lj4"],[id^="lj5"],[id^="lj6"],[id^="lj7"],[id^="lj8"],[id^="lj9"],[id^="lj10"],[id^="lj11"],[id^="lj12"],[id^="lj13"],[id^="input1"]').val('');


    });

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.toFixed(2));

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

    /*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*day/12;
        $("#lj12").val(lj12);
        }
    */
    //因为这个放开后 执行了这个方法 但是要是年的选项的话 是上面的那个方法 还有这个方法无法精确啊

就是这些问题 我导航比较浅薄 没调试出来 感谢各位大神了

rui888
rui888   Ds   Rxr 2016.03.01 16:51

showCalendar 方法和 Costcalculator 方法都没有。

qq_15290009
qq_15290009 下班了 明天再问你
接近 2 年之前 回复
qq_15290009
qq_15290009 额 贴全太多了 啊 showCalendar 这个方法 可以不需要 那个起算日期 和截止 可以手输入啊
接近 2 年之前 回复
rui888
rui888 回复热呛: 大哥代码都不贴全,怎么测试
接近 2 年之前 回复
qq_15290009
qq_15290009 showCalendar 这个 日历显示是写页面的那个人写的 写了三个
接近 2 年之前 回复
qq_15290009
qq_15290009 额 showCalendar 这个方法我有 也能显示出来 是个js 没贴出来 你需要吗
接近 2 年之前 回复
qq_15290009
qq_15290009 什么意思 Costcalculator方法 不是有吗 那个Costcalculator1 2 3 不是吗
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.01 16:59

你代码不报错? var input = parseFloat($("#input").val());
var inprt1 = parseFloat($(" #input1").val());
Costcalculator(input);
你这个Costcalculator 方法怎么调用,方法写那里了。其次你的日期选择showCalendar 这个方法在那

qq_15290009
qq_15290009 Costcalculator(input); 这个跟我说的是俩个完全体 没联系
接近 2 年之前 回复
qq_15290009
qq_15290009 showCalendar 这个要是都贴出来 太多了
接近 2 年之前 回复
qq_15290009
qq_15290009 但是他跟我说的没什么联系 唯一的联系就是标的金额
接近 2 年之前 回复
qq_15290009
qq_15290009 不报错 这个方法是 function Costcalculator(input) { input = parseFloat(input) || 0; var al = 0; var sl = 0; var dl = 0; var el = 0; var fl = 0; var gl = 0; var hl = 0; var jl = 0; var kl = 0; var ll = 0; var ql = 0; var wl = 0; //受理费全额 半额计算 if (input <= 10000) { al = 50; sl = 50 / 2;
接近 2 年之前 回复
qq_15290009
qq_15290009 不报错 这个方法是 function Costcalculator(input) { input = parseFloat(input) || 0; var al = 0; var sl = 0; var dl = 0; var el = 0; var fl = 0; var gl = 0; var hl = 0; var jl = 0; var kl = 0; var ll = 0; var ql = 0; var wl = 0; //受理费全额 半额计算 if (input <= 10000) { al = 50; sl = 50 / 2;
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.01 17:13

你说的日期修改,不会自动计算,我测试是可以的。图片说明

qq_15290009
qq_15290009 还有我说的那意思是 在修改他不能计算 我这个就不能 我也把#EntTime31加上了 还是不能
接近 2 年之前 回复
qq_15290009
qq_15290009 还在吗 那那个年月日的呢
接近 2 年之前 回复
qq_15290009
qq_15290009 ?
接近 2 年之前 回复
qq_15290009
qq_15290009 那我的也这么试过了 并不好使阿 我明天再试试 那还有一个问题 就是年月日调不到正确的方法
接近 2 年之前 回复
qq_15290009
qq_15290009 说的什么?? 手机上怎么看不到
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.02 09:17

你的年月日调用的是showCalendar 。现在你的年月日怎么了。

qq_15290009
qq_15290009 是啊 可是不好使啊 我不知道为什么 要是把Costcalculator2 放开 执行的就是这个方法了 Costcalculator3 这个根本用不到 还有那个 我还是日期修改在修改计算不了
接近 2 年之前 回复
rui888
rui888 回复热呛: $("#input,#input1,#EntTime30,#EntTime31").change(function () 上面图中加了的。加上ID判断内容改变调用方法,有这个功能的啊。
接近 2 年之前 回复
rui888
rui888 回复热呛: $("#input,#input1,#EntTime30,#EntTime31").change(function () 上面图中加了的。加上ID判断内容改变调用方法,有这个功能的啊。
接近 2 年之前 回复
qq_15290009
qq_15290009 那不是可以选择的吗 我想选择月的话 想让他执行Costcalculator2 这个方法 并且能计算
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.02 09:42

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

      Costcalculator2(input,input1,day ); 

    })

            重新加一段这个这个看看,
qq_15290009
qq_15290009 哥 你的救救我 啊 马上要交了 就这俩个问题 解决不下去了
接近 2 年之前 回复
qq_15290009
qq_15290009 还是没掉进去方法
接近 2 年之前 回复
qq_15290009
qq_15290009 默认不是年吗 计算了完后 在选择月 值会变成0
接近 2 年之前 回复
qq_15290009
qq_15290009 不好使 我之前也试过了
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.02 10:18

你是说利率选项选择月的时候不计算?

qq_15290009
qq_15290009 对的 就是这个意思 让他点击 月和日的选项也能计算
接近 2 年之前 回复
qq_15290009
qq_15290009 对的 就是这个意思 让他点击 月和日的选项也能计算
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.02 10:36

你不是说起算日期 截至日期那个没有作用啊,白忙活

qq_15290009
qq_15290009 额 啥跟啥啊 那个让他点击 月和日的选项也能计算 但是现在不能计算 起算日期 截至日期那个也没有作用 现在是俩个个问题 我贴个图
接近 2 年之前 回复
qq_15290009
qq_15290009   2016.03.02 10:57

图片说明

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!