-1

我有一个简单的表(从数组动态生成),我可以在其中放置件数,以便价格可以在价格字段中自动计算(模糊)。这两个字段都是表单输入字段。
因此,源代码如下所示:

<?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, ".", ","));}
}); 

谁能给我一个建议,我必须如何做到这一点?非常感谢。

非常感谢你帮助我。

4

2 回答 2

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();

等等……

于 2013-04-18T19:45:37.873 回答
1

将您的选择器从更改[id^=Field_Amount_]input[id^=Field_Amount_]

于 2013-04-18T19:43:55.753 回答