Javascript乘法数组输入

Javascript乘法数组输入,javascript,arrays,Javascript,Arrays,如何乘法数组输入和显示结果。如果输入订单,价格将与订单相乘,并显示小计。问题是我有不止一个小计 <table> <tr> <td>Price</td> <td>Order</td> <td>Subtotal</td> </tr> <tr> <td><input type="text" id="price1" name="pric

如何乘法数组输入和显示结果。如果输入订单,价格将与订单相乘,并显示小计。问题是我有不止一个小计

<table>
<tr>
    <td>Price</td>
    <td>Order</td>
    <td>Subtotal</td>
</tr>
<tr>
    <td><input type="text" id="price1" name="price" readonly="" value="15000"></td>
    <td><input type="text" id="order1" name="order" value="0" oninput="subt()"></td>
    <td><input type="text" name="subtotal" value="0" readonly></td>
</tr>
<tr>
    <td><input type="text" id="price2" name="price" readonly="" value="10000"></td>
    <td><input type="text" id="order2" name="order" value="0" oninput="subt()"></td>
    <td><input type="text" name="subtotal" value="0" readonly></td>
</tr>
<tr>
    <td><input type="text" id="price3" name="price" readonly="" value="5000"></td>
    <td><input type="text" id="order3" name="order" value="0" oninput="subt()"></td>
    <td><input type="text" name="subtotal" value="0" readonly></td>
</tr>

价格
命令
小计

Javascript

function subt(){

var price = document.getElementsByName('price'),
    order = document.getElementsByName('order'),
    subtotal = document.getElementsByName('subtotal');

var sub=0;

for(var i=0;i<price.length;i++){
    sub += price[i] * order[i];
    document.getElementByName('subtotal').value = sub; 
    }

}
function subt(){
var price=document.getElementsByName('price'),
order=document.getElementsByName('order'),
小计=document.getElementsByName(“小计”);
var-sub=0;

对于(var i=0;i我建议在每个小计中添加一个ID,并按如下方式重构代码-或者:

  • 通过行循环并按ID定位输入,消除数组变量

    • 检测表行数
    • 将for循环设置为遍历每一行
    • 在循环中,通过将字符串与循环计数器中的整数串联来设置每个元素ID
    • 按ID而不是名称获取元素以解析输入参数
    • 计算
    • 按ID获取小计元素并设置值
  • 若表总是有固定数量的列,那个么使用第n个子标识符按列位置迭代类似于上面的输入,这可以消除任何id或类目标


  • 值得注意的是,对于有效的html,您应该在每个输入字段中添加id和名称,并且建议包含可访问性标签

    我建议在每个小计中添加id,并按如下方式重构代码-或者:

  • 通过行循环并按ID定位输入,消除数组变量

    • 检测表行数
    • 将for循环设置为遍历每一行
    • 在循环中,通过将字符串与循环计数器中的整数串联来设置每个元素ID
    • 按ID而不是名称获取元素以解析输入参数
    • 计算
    • 按ID获取小计元素并设置值
  • 若表总是有固定数量的列,那个么使用第n个子标识符按列位置迭代类似于上面的输入,这可以消除任何id或类目标


  • 值得注意的是,对于有效的html,您应该向每个输入字段添加id和名称,建议在
    subt
    函数中包含可访问性标签,通过传递
    this
    传递当前输入字段,this
    引用上下文中的当前元素。同时传递price值和t的名称输入要显示小计的元素

    另外,
    getElementsByName
    是一个集合。为了获取字段,您需要传递索引。这里
    [0]
    表示第一个索引中的元素

    功能子项(元素、值、显示字段){
    document.getElementsByName(dispField)[0]。value=elem.value*val
    }
    
    价格
    命令
    小计
    
    subt
    函数中,通过传递引用上下文中当前元素的
    来传递当前输入字段。同时传递价格值和要显示小计的输入元素的名称

    另外,
    getElementsByName
    是一个集合。为了获取字段,您需要传递索引。这里
    [0]
    表示第一个索引中的元素

    功能子项(元素、值、显示字段){
    document.getElementsByName(dispField)[0]。value=elem.value*val
    }
    
    价格
    命令
    小计
    
    你的问题不清楚我想找到每个输入的小计,小计是价格*订单。我有代码可以找到一个结果的小计,但现在我有3个输入和3个小计明白了,请看我的回答你的问题不清楚我想找到每个输入的小计,小计是价格*订单。我有代码可以找到子一个结果总计,但现在我有3个输入和3个小计。明白了,请看我的答案