2012-06-25 60 views
0

小提琴:http://jsfiddle.net/MhWm5/16/隔離jQuery的KEYUP更新一類

我有些動態生成的錶行/值與動態的ID

<td class="control-group"> 
    <input name="price[418]" class="price" value="199.00"> 
    <span class="calcprice">I want this SPAN tag to update</span> 
</td> 
<td class="control-group"> 
    <input name="price[424]" class="price" value="67.00"> 
    <span class="calcprice">I DO NOT WANT this SPAN tag to update</span> 
</td> 

我有一個簡單的jQuery KEYUP功能設計在這裏更新SPAN:

$('.price').keyup(function() { 

    var AskPrice = $(this).val(); 
    var calcSpan = ".calcprice"; 
    var itemCost = AskPrice * (.8); 
    console.log(itemCost); // just for giggles 

    $(this).parents().find(calcSpan).text(" You will receive $" + itemCost); 

}); ​ ​ 

當第一個輸入字段的用戶類型,跨度在兩個表中的行更新,這是我不想要的東西。我可以在每個範圍調整課程的名稱,但我認爲這沒有幫助。

任何幫助是偉大的。

回答

1

我會用siblings()功能來做到這一點。

見例如:http://jsfiddle.net/MhWm5/26/

另外請注意,我不得不改變你的標記。您有td標籤,它們沒有嵌套在tabletr中,因此它沒有像您認爲的那樣呈現。這實際上可能是你的問題的根源。

1
$(this).parent().find(calcSpan).text(" You will receive $" + itemCost); 

父母,父母不

0

改變一個跨度的名稱,更新跨度!

工作演示:http://jsfiddle.net/epinapala/MhWm5/24/

<span class="calcprice1">I want this SPAN tag to update</span> 

然後在你的JS

$('.price').keyup(function() { 
    var AskPrice = $(this).val(); 
    var calcSpan = ".calcprice1"; 
    var itemCost = AskPrice * (.8); 
    console.log(itemCost); 
    $(this).parent().find(calcSpan).text(" You will receive $" + itemCost); 
});