執行數學我有如下表jQuery來通過每個錶行循環,並與每行輸入字段
<table class="authors-list" border=0 id="ordertable">
<tr>
<td>Cubic Meters</td><td>Cubes per Bundle</td><td>Total Bundles</td>
<tr>
<td><input type="text" name="cubicmeters1" id="cubicmeters1" value="1.38"></td>
<td><input type="text" name="cubesperbundle1" id="cubesperbundle1" value="1.485"></td>
<td><input type="text" name="bundles1" id="bundles1"></td>
</tr>
<tr>
<td><input type="text" name="cubicmeters2" id="cubicmeters2" value="1.38"></td>
<td><input type="text" name="cubesperbundle2" id="cubesperbundle2" value="1.485"></td>
<td><input type="text" name="bundles2" id="bundles2"></td>
</tr>
<tr>
<td><input type="text" name="cubicmeters3" id="cubicmeters3" value="1.38"></td>
<td><input type="text" name="cubesperbundle3" id="cubesperbundle3" value="1.485"></td>
<td><input type="text" name="bundles3" id="bundles3"></td>
</tr>
</table>
我想要做的是循環遍歷每個錶行和反對兩個輸入執行數學函數,並將結果填充到第三個輸入中。
小提琴是在這裏:http://jsfiddle.net/ttZtX/1/
因此,這裏是我jQuery的嘗試:
$("table.authors-list").find('input[name^="cubicmeters1"]').each(function() {
cubes += +$(this).closest('tr').find('input[name^="cubicmeters"]').val();
cubesperbundle += +$(this).closest('tr').find('input[name^="cubesperbundle"]').val();
+$(this).closest('tr').find('input[name^="bundles"]').val((cubes*cubesperbundle).toFixed(2));
});
這根本不會產生任何結果或錯誤,不填充輸入。總結一下,我的要求是讓jquery循環遍歷每一行,將cubicmeters
乘以cubesperbundle
,然後填充bundles
並返回結果。
夠簡單,但我只是不能正確理解。
任何幫助,將不勝感激。
在此先感謝...
謝謝穆薩。如果在身體本身,這可以工作。麻煩的是立方米和cubesperbundle由一個較早的jquery函數填充,這是在體內運行,所以我需要在輸入填充後觸發該腳本。謝謝 – Smudger 2013-04-25 06:40:23
@Smudger代碼在哪裏並不重要,它在調用時很重要。你需要在dom加載完成後調用它(或者只是在加載元素時加載) – Musa 2013-04-25 06:44:02
謝謝。這是目前所有其他腳本的正文。我如何實現這一目標?其他輸入由這個腳本填充:'for(var i = 1; i <= rows; i ++){function(index){'0'post('get_sku_pieces',{ data:$('#product '+指數).VAL() },功能(結果){ $(' #pcsperbundle」 +指數).VAL(結果); });} )(ⅰ) }' – Smudger 2013-04-25 06:49:40