2013-07-30 45 views
0

enter image description here我想检查表的第一列的所有行如果文本存在,并且如果它确实想要覆盖同一行的第二个单元格中的值。我尝试了很多,并无法得到它。我使用jQuery 1.7.1。jquery查找/包含并替换表单元格值

<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>'); 
}); 

回答

3

您可以使用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()可以接受一个回调函数。所以,在这个回调中,你可以获取当前值,修改它,然后返回你想要的新值。

演示:http://jsfiddle.net/Z7jmz/1/

+0

它在寻找文本工作,我想overrite一些值的下一个TD的价值。你能帮助我吗? .text(“找到它!”);而不是这个.text(currentvalue + new value);将工作 ? – Sakthivel

+0

什么是'currentvalue'和'new value'? – tymeJV

+0

一些样本value.first td有'sakthi',第二个td有'1',如果找到sakthi,我想用'1'做一些事情。 – Sakthivel

相关问题