2012-08-29 77 views
2

我有這樣的一個表:變化​​元素值

Column 1 | Column 2 
------------------- 
Textbox1 | Text1 
Textbox2 | Text2 

我想改變Textbox1值,當光標移出它將運行change事件到Text1值替換到Success

<html> 
    <head> 
     <title>Demo - Change Value</title> 
     <script type="text/javascript" language="javascript" src="js/jquery.js"></script> 
     <script> 
      $(document).ready(function() { 
       $('#example table tbody tr td input').change(function() { 
        var rowEdit = $($(this).parents('tr').html()); 

        rowEdit.closest('.sub').html('Success'); 
<!--     $('.sub').html('Change');--> 
       }) 
      }) 
     </script> 
    </head> 

    <body> 
     <div id="example"> 
      <table> 
       <thead> 
        <th>Column 1</th> 
        <th>Column 2</th> 
       </thead> 
       <tbody> 
        <tr> 
         <td><input type="text" /></td> 
         <td class="sub">123</td> 
        </tr> 
        <tr> 
         <td><input type="text" /></td> 
         <td class="sub">456</td> 
        </tr> 
       </tbody> 
      </table> 
     </div> 
    </body> 
</html> 

的問題是,價值並沒有改變我叫rowEdit.closest('.sub').html('success');之後,但它會改變Text1Text2如果我用$('.sub').html('Change');

我的目標是更改列2中的文本,當我更改第1列的值input與同一行。我怎樣才能做到這一點?

+0

增加了一個答案。 – insomiac

回答

4

試試這個:

$(document).ready(function() { 
    $('#example table tbody tr td input').change(function() { 
    var rowEdit = $(this).parents('tr'); 
    rowEdit.children('.sub').html('Success'); 
    }) 
}) 

既然你獲取父TR元素,兒童()應該做的伎倆。

這裏是jsFiddle

+2

不需要將'rowEdit'重新包裝爲jQuery對象。您已經在初始變量實例化中引用它。 – Ohgodwhy

+0

謝謝@Ohgodwhy,更新了代碼。 –

+0

@SenthilKumar:謝謝,它的工作原理。 – Crazenezz

1

試試這個.... FIDDLE

$('#example input').change(function() { 
    $(this).closest('tr').find('td.sub').html('Success'); 
});