РЕДАКТИРОВАТЬ: Кажется, я не использовал 'id' на моем textarea, так что проблема устранена, но у меня все еще есть несколько проблем с текстом ()
var e = $('textarea#cost-'+i).val(); // e = 1 (for first iteration)
alert($('p#subtotal-'+i).text()); // alert 'subtotal' which is the text in my p#subtotal-1
$('p#subtotal-'+i).text().replaceWith(e); // <- this is the problem, i think
alert($('p#subtotal-'+i).text()); // no alert box at all
и на этот раз я убедился, что у них всех есть идентификаторы.
Следующий код создает окно предупреждения, в котором ничего нет.
Если я изменяю его на val (), он говорит 'undefined'
$('textarea.costbox').live('blur',function() {
for(var i in items) {
alert('iteration '+i);
alert('textarea#cost-'+i);
var e = $('textarea#cost-'+i).text();
alert('cost '+e);
}
});
<textarea name="cost-1" class="costbox"></textarea>
Идея этого кода заключается в обновлении промежуточного итога при изменении значения.
Это последний кусок головоломки.
Весь HTML выглядит нормально, когда я проверяю его в Chrome. И все остальное в моем коде работает нормально.
Это должно работать с modernizer1.7 и jQuery1.5.1, основанными на последних HTML5Boilerplate.
Вот еще один пример той же самой базовой вещи - http://jsbin.com/obeho5/3/edit
Возможно, это что-то простое, но я застрял здесь часами и не вижу этого.
[если это не что-то очевидное и простое, я могу выложить больше кода]