2012-01-15 71 views
1

我有一个表格,里面有一些行和输入。我希望每当用户按文字框内的+键时,在其字段中添加新行。我可以做到,但是我遇到的问题是这个函数第一次运行。如果我在第二个字段上按+键,则不会发生任何事情。第一次运行函数后失去jQuery行为

This is my code in jsFiddle

$(document).ready(function(){ 
    $(".data").bind('keyup',function(e){ 
     if(e.which == 107){ 
      var id = $(this).attr('id'); 
      var content = $('#'+id).val(); 
      var newContent = content.replace('+',''); 
      $('#'+id).val(newContent); 

      var current_rows = ($('#myTable tr').length); 
      current_rows = parseInt(current_rows); 
      var newId = current_rows + 1; 

      var newRow = '<td><input type="text" class="data" id="'+newId+'" /></td>'; 
      $('#myTable tr:last').after(newRow); 
      $('#'+newId).focus(); 
     } 
    }); 
    $('#1').focus(); 
}); 

我该怎么办?

回答

2

尝试使用live而不是bind。但看看我认为现在已经过时的文档。

+0

我没有在我的代码中使用'bind'! – 2012-01-15 08:36:54

+2

真的吗? $(“。data”)。bind('keyup',function(e){。也许你应该阅读你发布的内容 – 2012-01-15 08:37:38

+0

@MohammadSaberi你做了,但绑定不是那么好** ** – 2012-01-15 08:37:39

相关问题