javascript - jquery 乘法 - 幕后计算

标签 javascript jquery html

我有这个计算器:

calc

这是我的 html :

<div class="row">
    <div class="twenty columns">
        <h2 class="secondary-title text-red2">Mortgage Utilisation Calculator</h2>
        <form>
            <div class="row forminput">
                <div class="ten columns">
                    <p class="slider-label">Daily Flexi Account Balance (RM)</p>
                    <input type="text" class="daily-flexi-accbalance strictly-numbers" value="200000" />
                </div>
                <div class="ten columns">
                    <p class="slider-label">Number of Days in Month</p>
                    <div class="field type-dropdown">
                        <div class="picker picker-dd2">
                            <select class="dropdown2 numdays-month">
                                <option value="0">Please select</option>
                                <option value="1">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>
                                <option value="4">4</option>
                                <option value="5">5</option>
                                <option value="6">6</option>
                                <option value="7">7</option>
                                <option value="8">8</option>
                                <option value="9">9</option>
                                <option value="10">10</option>
                                <option value="11">11</option>
                                <option value="12">12</option>
                                <option value="13">13</option>
                                <option value="14">14</option>
                                <option value="15">15</option>
                                <option value="16">16</option>
                                <option value="17">17</option>
                                <option value="18">18</option>
                                <option value="19">19</option>
                                <option value="20">20</option>
                                <option value="21">21</option>
                                <option value="22">22</option>
                                <option value="23">23</option>
                                <option value="24">24</option>
                                <option value="25">25</option>
                                <option value="26">26</option>
                                <option value="27">27</option>
                                <option value="28">28</option>
                                <option value="29">29</option>
                                <option value="30">30</option>
                                <option value="31">31</option>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="ten columns">
                    <p class="slider-label">Current Facility Limit (RM)</p>
                    <input type="text" class="curr-facilitylimit numeric-only" value="500000" />
                </div>
                <div class="ten columns">
                    <p class="slider-label">Excess Payment (RM)</p>
                    <input type="text" class="curr-facilitylimit numeric-only" value="" />
                </div>
            </div>
        </form>

        <div class="row bg-gray12">
            <div class="ten columns bg-gray12 data-box2">
                <div class="row">
                    <div class="twelve columns">Sum of Daily Flexi Account Balance</div>
                    <div class="eight columns text-right calc-result-sumflexiacc " data-prefix="RM " data-suffix="">RM 0</div>
                </div>
            </div>
            <div class="ten columns bg-gray11 data-box2">
                <div class="row">
                    <div class="twelve columns">Monthly Utilisation Rate</div>
                    <div class="eight columns text-right calc-result-mthly-utilisationrate text-right" data-prefix="RM " data-suffix="">0 %</div>
                </div>
            </div>
        </div>

        <!-- <div class="row bg-gray9 data-box2 font-brighter">
            <div class="fifteen columns ">Total Amount Payable</div>
            <div class="five columns text-right calc-result-totalpayable" data-prefix="RM " data-suffix="">RM 0</div>

        </div> -->

    </div>
</div>

我有这个函数来计算每日灵活费用的总和

function calcSumDailyFlexiAccBalance() {
    var numDaysMonth;

    $(".numdays-month").on('change', function() {
       numDaysMonth =   parseInt($(".numdays-month").val(), 10);
    });

    var dailyFlexi = parseInt($(".daily-flexi-accbalance").val(), 10);
    var resultDaysFlexi = numDaysMonth * dailyFlexi;
    var roundResult = Math.round(resultDaysFlexi/100)*100
}

为了获取字段的值:每日灵活账户余额总和 - 计算结果为每日灵活账户余额 * 天数 - 结果四舍五入到最接近的百分位。

例如 每日灵活账户余额为:265806, 天数:31, 每日 Flexi acc 余额总和将为:8,239,986,正确的输出将为 8,240,000

出于某种原因,我认为我的计算没有输出正确的金额,因为我得到了 NaN

最佳答案

更改天数下拉列表,它将记录计算的输出,看起来是正确的(即没有 NaN)

function init() {
	$(".numdays-month").on('change',
		function() {
			var numDaysMonth;
			numDaysMonth = parseInt($(".numdays-month").val(), 10);
			var dailyFlexi = parseInt($(".daily-flexi-accbalance").val(), 10);
			var resultDaysFlexi = numDaysMonth * dailyFlexi;
			var roundResult = Math.round(resultDaysFlexi/100)*100
			console.log(roundResult);
		}
	);
}

$(document).ready(init);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<body>
     <div class="row">

            <div class="twenty columns">
                <h2 class="secondary-title text-red2">Mortgage Utilisation Calculator</h2>
                <form>
                    <div class="row forminput">

                        <div class="ten columns">
                            <p class="slider-label">Daily Flexi Account Balance (RM)</p>
                            <input type="text" class="daily-flexi-accbalance strictly-numbers" value="200000" />
                        </div>
                        <div class="ten columns">
                                <p class="slider-label">Number of Days in Month</p>
                                <div class="field type-dropdown">
                                    <div class="picker picker-dd2">
                                        <select class="dropdown2 numdays-month">
                                            <option value="0">Please select</option>
                                            <option value="1">1</option>
                                            <option value="2">2</option>
                                            <option value="3">3</option>
                                            <option value="4">4</option>
                                            <option value="5">5</option>
                                            <option value="6">6</option>
                                            <option value="7">7</option>
                                            <option value="8">8</option>
                                            <option value="9">9</option>
                                            <option value="10">10</option>
                                            <option value="11">11</option>
                                            <option value="12">12</option>
                                            <option value="13">13</option>
                                            <option value="14">14</option>
                                            <option value="15">15</option>
                                            <option value="16">16</option>
                                            <option value="17">17</option>
                                            <option value="18">18</option>
                                            <option value="19">19</option>
                                            <option value="20">20</option>
                                            <option value="21">21</option>
                                            <option value="22">22</option>
                                            <option value="23">23</option>
                                            <option value="24">24</option>
                                            <option value="25">25</option>
                                            <option value="26">26</option>
                                            <option value="27">27</option>
                                            <option value="28">28</option>
                                            <option value="29">29</option>
                                            <option value="30">30</option>
                                            <option value="31">31</option>
                                        </select>
                                    </div>
                                </div>
                            </div>
                        <div class="ten columns">
                            <p class="slider-label">Current Facility Limit (RM)</p>
                            <input type="text" class="curr-facilitylimit numeric-only" value="500000" />
                        </div>
                        <div class="ten columns">
                            <p class="slider-label">Excess Payment (RM)</p>
                            <input type="text" class="curr-facilitylimit numeric-only" value="" />
                        </div>

                    </div>
                </form>

                <div class="row bg-gray12">
                    <div class="ten columns bg-gray12 data-box2">
                        <div class="row">

                            <div class="twelve columns">Sum of Daily Flexi Account Balance</div>
                            <div class="eight columns text-right calc-result-sumflexiacc " data-prefix="RM " data-suffix="">RM 0</div>
                        </div>

                    </div>

                    <div class="ten columns bg-gray11 data-box2">
                        <div class="row">

                            <div class="twelve columns">Monthly Utilisation Rate</div>
                            <div class="eight columns text-right calc-result-mthly-utilisationrate text-right" data-prefix="RM " data-suffix="">0 %</div>
                        </div>

                    </div>
                </div>

                <!-- <div class="row bg-gray9 data-box2 font-brighter">
                    <div class="fifteen columns ">Total Amount Payable</div>
                    <div class="five columns text-right calc-result-totalpayable" data-prefix="RM " data-suffix="">RM 0</div>

                </div> -->

            </div>
        </div></body>

关于javascript - jquery 乘法 - 幕后计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39115616/

相关文章:

Html弹出窗口,父级应该无权访问

javascript - 在 Google Apps 脚本中,无法以编程方式创建触发器以从 onEdit 触发器发送电子邮件

jquery - 如何以编程方式触发可拖动行为

html - 可以在 SVG 中将 &lt;!-- comment --> 作为第一行吗?

javascript - 将 jquery 窗口宽度转换为像素

JQuery 仅在按钮单击时验证,而不在模糊/onchange 时验证

javascript - Webpack 文件加载器将相同的 URL 注入(inject) HTML 和 CSS 文件

javascript - 使用 python 抓取从网页中嵌入的传单应用程序获取坐标

javascript - jquery的圆形插件+边框

jquery - 如何使用 Highcharts 更改整个 xAxis 标签的高度?