繁体   English   中英

总金额显示为NAN,javascript

[英]total amount is getting displayed as NAN,javascript

我有一个表单,其中有两组单选按钮和一个文本框来输入数量值。 基于选中的单选按钮和“数量”文本框中的值,应在总文本框中填充值。 我正在使用数组进行计算,但总计字段中的值显示为NAN。 谁能检查我的代码并让我知道我哪里错了?

**HTML**

<form id="orderform" name="orderform" >
                    <fieldset data-role="controlgroup">
                         <legend><b>Choice</b></legend>
                         <input type="radio" name="choice" id="veg" value="1" checked onclick="total()">
                         <label for="veg">Vegetarian</label>
                         <input type="radio" name="choice" id="nonveg" value="2" onclick="total()">
                         <label for="nonveg">Meat Lover</label>
                     </fieldset>
                    <fieldset data-role="controlgroup">
                        <legend><b>Size</b></legend>
                        <input type="radio" name="size" id="small" onclick="total()">
                        <label for="small">Small</label>
                        <input type="radio" name="size" id="medium" onclick="total()">
                        <label for="medium">Medium</label>
                        <input type="radio" name="size" id="large" onclick="total()">
                        <label for="large">Large</label><span class="validation"></span>
                    </fieldset>
                            <div><b>Quantity</b>
                        <input type="text" id ="qty" name="qty" size="5" onclick="total()">
                    </div><div>
                        <b>Total</b>
                        <input type="text" id="amt" name="amt" readonly="readonly"> 
                    </div>

Javascript Javascript

var array=[[8.99,9.99,10.99],[9.99,10.99,11.99]];

    function total()
    {
        var row = document.querySelector('input[name="choice"]:checked').value;
       var column = document.querySelector('input[name="size"]:checked').value;
        var qty=document.getElementById("qty").value;
        var total=0;  
            total= (array[row][column]+1)*qty;
       document.orderform.amt.value = total;
    }

您必须像下面那样在html中更改大小组

         <legend><b>Size</b></legend>
         <input type="radio" name="size" id="small" value="1" onclick="total()">
         <label for="small">Small</label>
         <input type="radio" name="size" id="medium" value="2" onclick="total()">
         <label for="medium">Medium</label>
         <input type="radio" name="size" id="large" value="3" onclick="total()">
         <label for="large">Large</label><span class="validation"></span>

它会为你工作

var column = document.querySelector('input[name="size"]:checked').value;

您可以警报(列),您会发现该值是“ on”。 因为您没有在所有尺寸组中设置任何值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM