2012-01-15 37 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