如何在循环中出现的文本框上执行加法/乘法?

时间:2013-05-25 12:56:45

标签: php javascript

嗨everryone我的问题是我在一行表中应用循环,循环的优先级取决于文本中的用户输入意味着用户在文本框中写入的数量将显示任何行数。现在每行包含文本框,comboxbox从组合框中选择值从前三列输入文本框中的值,结果将显示。问题是只在第二行第一行中的条件nt。我该怎么做才能克服它。

javascriptng代码

<script>
function getText3(){
var in1=document.getElementById('in1').value;
var in2=document.getElementById('in2').value;
var in4=document.getElementById('in4').value;
var in3=(in1*in2*in4*30)/1000;
document.getElementById('in3').value=in3.toFixed(2 );

}
</script>

这里我通过它们的id得到组合框n文本框的值n将结果存储在其他文本框中,即in3

表的编码

</head>
<body>


 <table border="1" align="center" id="wr123">
        <?php $numberofrow = $de;?>
<?php for($counter = 1;$counter<=$numberofrow;$counter++){ ?>
<tr>
    <th>WAS</th>
    <th>NO.</th>
    <th>AVERAGE</th>
    <th>APPROX</th>
    </tr>
    <tr>
    <td>Tube</td>
    <td>
    <select id="in4" name="t1" onclick="getText3()" >
    <option value="0">0</option>
    <option value="12">12</option>
    <option value="18">18</option>
    <option value="24">24</option>
    <option value="75">75</option>
    </select>
    </td>
    <td>
    <input type="text" name="t2" id="in1" onclick="getText3()" />
    </td>
    <td>
    <select name="a1" id="in2" onclick="getText3()" >
    <option value="0">0</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>
    </select>
    </td>
    <td>
    <input type="text" id="in3" name="username" readonly="readonly" />
    </td>
    <td>
    <tr>
    <?php }?>

结果显示为

没有。 AVERAGE APPROX

2 3 4结果显示在这里

没有。 AVERAGE APPROX

2 3 4无结果

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

   function getText3(row){
            var in1=document.getElementById('in1-' + row).value;
            var in2=document.getElementById('in2-' + row).value;
            var in4=document.getElementById('in4-' + row).value;
            var in3=(in1*in2*in4*30)/1000;
            document.getElementById('in3-' + row).value=in3.toFixed(2 );

    }

这适用于HTML / PHP

<table border="1" align="center" id="wr123">
    <tr>
        <th>WAS</th>
        <th>NO.</th>
        <th>AVERAGE</th>
        <th>APPROX</th>
    </tr>
    <?php

    for ($i = 1; $i < 4; $i++) {
    ?>
    <tr>
        <td>Tube</td>
        <td>
            <select id="in4-<?php echo $i; ?>" name="t1[]" onclick="getText3(<?php echo $i; ?>)" >
                <option value="0">0</option>
                <option value="12">12</option>
                <option value="18">18</option>
                <option value="24">24</option>
                <option value="75">75</option>
            </select>
        </td>
        <td>
            <input type="text" name="t2[]" id="in1-<?php echo $i; ?>" onblur="getText3(<?php echo $i; ?>)" />
        </td>
        <td>
            <select name="a1[]" id="in2-<?php echo $i; ?>" onclick="getText3(<?php echo $i; ?>)" >
                <option value="0">0</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>
            </select>
        </td>
        <td>
            <input type="text" id="in3-<?php echo $i; ?>" name="username[]" readonly="readonly" />
        </td>
        <td>
    </tr>
    <?php } ?>
    </table>
</body>
</html>