2010-11-17 141 views
4

這段代碼有什麼問題?只有第一個添加和刪除鏈接的工作...使用jquery動態添加文本框

<html> 
<head> 

<script type="text/javascript" src="jquery-1.3.2.min.js"></script> 

<style type="text/css"> 
div{ 
    padding:8px; 
} 
</style> 

</head> 

<body> 


<script type="text/javascript"> 

$(document).ready(function(){ 

    var counter = 2; 

    $(".addButton").click(function() { 

if(counter>5){ 
      alert("Only 5 textboxes allow"); 
      return false; 
} 

var newTextBoxDiv = $(document.createElement('div')) 
     .attr("id", 'TextBoxDiv' + counter); 

newTextBoxDiv.html('<TABLE><TR><TD>' + 
'<input type="text" name="textbox' + counter + 
'" id="textbox' + counter + '" value="" ></TD><TD><input type="text" name="textbox' + counter + 
'" id="textbox' + counter + '" value="" ></TD>&nbsp;<TD><a href="#" value="addButton" class="addButton">Add</a>&nbsp;<a href="#" value="removeButton" class="removeButton">Remove</a></TD></TR></TABLE>'); 

newTextBoxDiv.appendTo("#TextBoxesGroup"); 


counter++; 
    }); 

    $(".removeButton").click(function() { 
if(counter==1){ 
      alert("No more textbox to remove"); 
      return false; 
     } 

counter--; 

     $("#TextBoxDiv" + counter).remove(); 

    }); 

    $("#getButtonValue").click(function() { 

var msg = ''; 
for(i=1; i<counter; i++){ 
     msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val(); 
} 
     alert(msg); 
    }); 
    }); 
</script> 
</head><body> 

<div id='TextBoxesGroup'> 
<div id="TextBoxDiv1"> 
    <TR><TD><input type='textbox' id='textbox1' ></TD>&nbsp;<TD><input type="text" name="textbox' + counter + 
'" id="textbox' + counter + '" value="" ></TD>&nbsp;<TD><a href="#" value="addButton" class="addButton">Add</a>&nbsp;<a href="#" value="removeButton" class="removeButton">Remove</a></TD></TR> 
</div> 
</div> 

</body> 
</html> 

回答

9

當您綁定的點擊()處理程序,只有一個Add在頁面上綁定到鏈接。使用live()捕獲點擊事件不在頁面上尚未元素:

$(".addButton").live("click", function() { 

工作演示:http://jsfiddle.net/u9hvp/

+0

感謝隊友它做的伎倆 – 2010-11-17 12:07:53

+0

感謝jQuery代碼,它可以幫助我的。 – 2013-12-01 07:26:53

1

使用活()現在已經貶值,自安迪·E公司的職務。

的$(document)。在(「點擊」,「.removeButton」,函數(){

0

你只需要添加這個文件文件夾及其工作正常:同樣的功能現在使用下面的語法支持...!

jQuery的1.3.2.min.js