我有一个简单的表(从数组中动态生成),我可以在其中放入数量,以便价格可以在价格字段中自动计算(模糊)。这两个字段都是表单输入字段 所以来源因此看起来像这样:
<?php
foreach($ItemArray['1'] as $key => $value) {
echo '
<tr>
<td height="30" valign="middle">'.$value['nr'].'</td>
<td valign="middle">'.$value['product'].'</td>
<td valign="middle">'.$value['describe'].'</td>
<td valign="middle" id="stockprice_'.$key.'">
<input name="Field_Price_'.$key.'" id="Field_Price_'.$key.'" value="'.$value['price'].'" type="text" /></td>
<td valign="middle" class="box_darker" id="amount_'.$key.'">
<input name="Field_Amount_'.$key.'" id="Field_Amount_'.$key.'" type="text" /></td>
<td valign="middle" id="price_'.$key.'">
<input name="Field_Total_'.$key.'" id="Field_Total_'.$key.'" type="text" />
</td>
</tr>'; }
;?>
我意识到的方式是当用户输入任何数量(在“Field_Amount_”中)并从此输出(onblur)时,数量字段应该取值(来自“Field_Amount_”)然后必须放入总价(在“Field_Total_”中)。所以我尝试这个解决方案,但它不会工作。
$(document).on('blur', '[id^=Field_Amount_]', function(){
Amount = $(this).parent().find('[id^=Field_Amount_]').val();
StockPrice = $(this).parent().find('[id^=Field_Price_]').val();
Price = $(this).parent().find('[id^=Field_Total_]');
RowPrice = Amount * StockPrice;
if(Amount) { $(Price).text(accounting.formatNumber(RowPrice, 2, ".", ","));}
});
任何人都可以给我一个建议我必须这样做吗?非常感谢。
非常感谢帮助我。
答案 0 :(得分:2)
我有一种感觉代码:
$(this).parent().find('input[id^=Field_Amount_]').val();
实际上指向<td>
标记本身。
The `$(this)` is actually pointing to the input field of the amount.
var amount = $(this).val();
//field - td - tr
var stockPrice = $(this).parent().parent().find('input[id^=Field_Price_]').val();
依此类推......
答案 1 :(得分:1)
将您的选择器从[id^=Field_Amount_]
更改为input[id^=Field_Amount_]