したがって、入力とコストを持つテーブルを持つ This Fiddleがあります。それはまた、jqueryのビットがあります。複数の入力を同時に値で乗算する方法
$(".total").change(function() {
i = 1;
var input001 = document.getElementsByName(i)[0];
var cost001 = document.getElementById("cost" + i);
var total001 = input001.value * cost001.innerHTML;
var num = total001;
var total = num.toFixed(2).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "1,");
document.getElementById("printchatbox").value = total;
i++;
});
このコードは、最初の入力に最初のアイテムコストを乗算します。私は、このコードを45回コピーして貼り付けないで、45回(各項目ごとに1回)繰り返す方法を見つけたいと思います...それがそれを行う唯一の方法なら、私はそれを行うことができます...しかし私は何かを学び、私のコードを同時に短くすることを望んでいます。このテーブルはphpによって生成され、私はちょうどフィドルのために生成されたHTMLをコピーして貼り付けました。
while($row = $result->fetch_assoc()) {
$row['ItemID'] = ltrim($row['ItemID'], '0');
?>
<tr>
<td><input type="number" class="total" name="<?php echo $row['ItemID']?>" value "<?= isset($_POST[$row['ItemID']]) ? htmlspecialchars($_POST[$row['ItemID']]) : "" ?>"></td>
<td><?php echo $row['ItemID']?></td>
<td><?php echo $row['ItemDescription']?></td>
<td id="<?php echo 'cost' . $row['ItemID'] ?>"><?php echo $row['ItemCost']?></td>
<td id="<?php echo 'value' . $row['ItemID'] ?>"><?php echo $row['ItemValue']?></td>
</tr>
<?php
}
?>
</table>
これは、テーブルを作成し、ウェブサイト上のPHPコードです... これは、HTMLの表の最初の行です。
<tbody><tr>
<td><input class="total" name="1" value="" ""="" type="number"></td>
<td>1</td>
<td>Barrel Wrap 47"x31"</td>
<td id="cost1">39.38</td>
<td id="value1">47.25</td>
</tr>
私はそこで何かを変更する必要があれば、それは完全に罰金ですが、私はちょうど読みやすさを維持し、冗長性を減らすために願っています。
おかげ
を私たちにファイナルテーブルがどのように見えるかの小さな部分を与えます。 (PHPなしのブラウザで) –