显示模糊数据

时间:2013-04-18 19:37:49

标签: javascript blur

我有一个简单的表(从数组中动态生成),我可以在其中放入数量,以便价格可以在价格字段中自动计算(模糊)。这两个字段都是表单输入字段 所以来源因此看起来像这样:

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

任何人都可以给我一个建议我必须这样做吗?非常感谢。

非常感谢帮助我。

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_]