日期:2014-05-16  浏览次数:20360 次

jquery 往页面写html 后遇到的问题
页面代码大概如下:
<table>
<thead>
 <tr>
  <td>姓名</td><td>年龄</td><td>操作</td>
 </tr>
</thead>

<tbody>
 <tr>
  <td>小张</td><td>15</td><td id="modi">改年龄</td>
 </tr>
 <tr>
  <td>002</td><td>小李</td><td id="modi">改年龄</td>
 </tr>
</tbody>
</table>

jquery如下:
//在选择的行后紧跟着添加html
$("img[@name='modi']").click(function(){
  var modi = $(this);
  var htmlStr = "<tr id='tempTr'><td colspan='2'><input type='text' id='modifyAge'/></td>"+
  "<td><input type='submit' id='subm' /></td>";
  
  modi.parent().after(htmlStr);
});

//添加后读取所添加文本框里的值 读不到!
$("#subm").click(function(){
 alert($("#subm").val());
});

不知道哪里出现问题读不到值~~

------解决方案--------------------
HTML code
<html>
<body>
<head>
<script src="jquery.js"></script>
</head>
<table> 
<thead> 
<tr> 
  <td>姓名 </td> <td>年龄 </td> <td>操作 </td> 
</tr> 
</thead> 

<tbody> 
<tr> 
  <td>小张 </td> <td>15 </td> <td id="modi">改年龄 </td> 
</tr> 
<tr> 
  <td>002 </td> <td>小李 </td> <td id="modi">改年龄 <img src="" name="modi" /></td> 
</tr> 
</tbody> 
</table> 

jquery如下: 
//在选择的行后紧跟着添加html 
<script>
$("img[@name='modi']").click(function(){ 
  var modi = $(this); 
  var htmlStr = " <tr id='tempTr'> <td colspan='2'> <input type='text' id='modifyAge'/> </td>"+ 
                " <td> <input type='button' id='subm' value='submit' /> </td>"; 
  
  modi.parent().after(htmlStr); 
  //添加后读取所添加文本框里的值 读不到! 
    $("#subm").bind("click",function(){ 
        alert($("#subm").val());
    }); 
}); 


</script>
</body>
</html>