2013-04-18 48 views
-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, ".", ","));} 
}); 

任何人都可以給我一個建議,我必須這樣做嗎?非常感謝。

非常感謝您的幫助。

+2

請界定 「是行不通的。」你期望發生什麼,真正發生了什麼,以及你如何試圖修復它? –

回答

1

您選擇更改從[id^=Field_Amount_]input[id^=Field_Amount_]

+0

你是對的...在這種情況下需要輸入[id^Field_Amount_]。 – bleepzter

+0

謝謝,這解決了我的問題! – onbids

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

或許使用'$(this).closest(「tr」)更有意義。find(...' – Ian

+0

謝謝。由於任何原因,「最接近」將不起作用。 :) – onbids