二维数组计算金额的形式,javascript



我有一个订单表单,用户选择图像的质量(从下拉列表),项目的类型(从单选按钮),光洁度(复选框选中然后$1)和数量(文本框),基于用户的选择,当点击计算按钮所选项目的成本文本框应该填充总量。

(qualityofimage)硬拷贝海报咖啡杯t恤(物品类型)

Good 8.99 9.99 10.99 11.99很好9.99 10.99 11.99 12.99优秀10.99 11.99 12.99 13.99

例如

:如果图像质量良好,则项目类型为硬拷贝,检查光洁度,数量为1:总金额= (8.99 + 1)* 1 .

我是新的javascript和尝试使用二维数组来计算金额,但没有得到正确的结果。如有任何帮助,不胜感激。

HTML代码:

<form id="orderform" name="orderform">
            <!--Order form-->
        <div id="items">
            Types of items
            <input type="radio" id="items" name="items" value="1" >Hard-copy Prints
            <input type="radio" id="items" name="items" value="2" >Posters
            <input type="radio" id="items" name="items" value="3" >Coffee Mugs
            <input type="radio" id="items" name="items" value="4" >T-shirts
        </div>
<div id="qualityofimage">    
        Quality of Images
            <select name="quality" id="quality">
                <option value="1" selected>Good</option>
                <option value="2">Very Good</option>
                <option value="3">Excellent</option>
            </select>
            </div>
<div>
        Glossy finish
            <input type="checkbox" name="gf" id="gf">
            </div>
        <div>Quantity
            <input type="text" id ="qty" name="qty" size="5">
            </div>
            <div><input type="button" id="calculate" value="Calculate" onclick="display()"></div>
<div>Total
          <input type="text" id="cost" name="cost" readonly="readonly">
          </div>
                </form>
Javascript

var array=[[8.99,9.99,10.99],[9.99,10.99,11.99],[10.99,11.99,12.99],[11.99,12.99,13.99]];
function display()
{
    var row = document.querySelector('input[name="quality"]:selected').value;
   var column = document.querySelector('input[name="items"]:checked').value;
    var gf=document.getElementById("gf");
    var qty=document.getElementById("qty").value;
    var total=0;
    if(gf.checked)
    {
        total= (array[row][column]+1)*qty;
    }
    else
    {
        total= (array[row][column])*qty;
    }
   document.getElementById("cost").value = total;
}

只有一个问题::selected是一个jQuery选择器,所以它不会与document.querySelector一起工作。

你可能在找$("select option:selected")

所以是:

var row = $('select option:selected').val();

一旦我改变了,它就正常工作了。

最新更新