2011-07-16 13 views
1

次のコードでは、テキストボックスの値を更新できません。jqueryインライン編集で更新された値を取得しますか?

<html> 
    <head> 
     <script src='jquery.js'></script> 
     <script type='text/javascript'> 
      $(document).ready(function(){ 
       $("#edit").click(function(){ 
        if($(this).html() == "Edit"){ 
         $(this).html("Update"); 
         var my_val = $(this).parents().find("#name").html(); 
         var new_html = "<input type='text' value='" + my_val + "' />"; 
         $(this).parents().find("#name").html(new_html); 
         return false; 
        }else{ 
         if($(this).html() == "Update"){ 
          var txt_box = $(this).parents().find("#name").html(); 
          alert($(txt_box).val()); 
         } 
        } 
       }); 

      }); 
     </script> 
    </head> 
    <body> 
     <table id='test_table'> 
      <tr> 
       <td id='name'>My Name</td> 
       <td><a href='#' id='edit'>Edit</a></td> 
      </tr> 
     </table> 
    </body> 
</html> 

答えて

0

変更

var txt_box = $(this).parents().find("#name").html(); 

var txt_box = $(this).parents().find("#name > input"); 
最初は常になりますので、中だ

へ:

<input type="text" value="My Name"> 
+0

Wong2、あなたの答えのためのthz。 – kmith

0

このライン上.html()を削除します。

var txt_box = $(this).parents().find("#name").html(); 

、アラートで$()のラッパーを。だから、持っている:

var txt_box = $(this).parents().find("#name"); 
alert(txt_box.val()); 
0

はそれが良くなることがあり、のようなjqueryプラグインを使用する方が簡単です210(デモhereを参照)?

関連する問題