小提琴:http://jsfiddle.net/MhWm5/16/
我有一些动态生成的动态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 );
});
当用户键入第一个输入字段时,跨表将在两个表行中更新,这是我不想要的。我可以在每个范围内调整班级的名称,但我认为这没有帮助。
任何帮助都很棒。
答案 0 :(得分:1)
$(this).parent().find(calcSpan).text(" You will receive $" + itemCost );
父母,而不是父母
答案 1 :(得分:1)
我会使用siblings()
函数来执行此操作。
参见示例:http://jsfiddle.net/MhWm5/26/
另请注意,我必须更改您的标记。您有td
个标记没有嵌套在table
或tr
中,因此它没有像您认为的那样呈现。这实际上可能是您问题的根本原因。
答案 2 :(得分: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);
});