Jquery find/ Содержит и заменяет значение ячейки таблицы
Я хочу проверить все строки первого столбца таблицы, если текст существует, и если это так, я хочу перезаписать значение во второй ячейке той же строки. Я очень старался и не мог добраться до этого. Я использую jQuery 1.7.1.
<table id="tbl">
<tr>
<td>sakthi</td>
<td>1</td>
</tr>
<tr>
<td>pushparaj</td>
<td>2</td>
</tr>
</table>
$('#tbl >tr').each(function() {
if($(this).find('td:contains'+sakthi+''))
{
var oldVal = $(this).find('td:eq(1)').text();//find value from first td
$(this).find('td:eq(1)').text(+oldVal + +5);//replace the same value
}
$('#tbluom >tbody').append('<tr><td>' + UOMCaption + '</td><td>' + UOMQty + '</td></tr>');
});
1 ответ
Решение
Ты можешь использовать filter
$("#tbl tr td:first-child").filter(function() {
return $(this).text().indexOf("sakthi") > -1;
}).next("td").text(function() {
var currentText = $(this).text();
console.log("Current Text: " + currentText);
return currentText + " changed";
});
.text()
может принять функцию обратного вызова. Таким образом, внутри этого обратного вызова вы можете получить текущее значение, изменить его, а затем вернуть то, что хотите, чтобы ваше новое значение было.