如何添加新的输入到HTML文档输入使用jQuery的输入?

问题描述:

我想添加动态输入。如何添加新的输入到HTML文档输入使用jQuery的输入?

我有一个输入已经创建,如果有人写了一些东西,它会在它下面添加新的输入,如果再一次写入一些东西到新创建的输入,它会调用相同的jquery并在下面生成另一个输入,所以上。 (相同的谷歌的地址和电子邮件的联系方式)

我该怎么做。

我都试过,但它给我的每个按键新的输入,也为新创建的输入它不工作

var counter = 2; 
 
$("input[id^='textbox']").keypress(function() { 
 
    if (counter>10){ 
 
    alert("Only 10 textboxes allow"); 
 
    return false; 
 
    } 
 

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

 
    newTextBoxDiv.after().html('<label>Textbox #'+ counter + ' : </label>' + 
 
          '<input type="text" name="textbox' + counter + 
 
          '" id="textbox' + counter + '" value="" >'); 
 
    newTextBoxDiv.appendTo("#TextBoxesGroup"); 
 
    counter++; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id='TextBoxesGroup'> 
 
    <div id="TextBoxDiv1"> 
 
    <label>Textbox #1 : </label> 
 
    <input type='textbox' id='textbox1' > 
 
    </div> 
 
</div> 
 

+0

虽然你可能是新的JavaScript或HTML,你需要实现自己的解决方案,首先做一个可信的努力,然后,*如果*你有问题,回来展示你“* [MCVE] *”代码并解释你遇到的问题。我们会很高兴地帮助你解决你的问题,但是要求我们为你做这件事并不是我们在这里做的。如果你需要关于如何实现这一点的指导,那么这是无关紧要的,因为我们不提供或推荐场外资源,无论是教程,库还是插件。 –

+0

你应该尝试一些然后问问题。 – Mohammad

您应该使用.on()将事件处理程序附加到新的输入。同时检查输入文字的父母是否为last-child,然后添加新行。

$(document).on("keyup change", "input[id^='textbox']", function(){ 
 
    if ($(this).parent().is(":last-child") && $(this).val() != ""){ 
 
     var index = $(this).parent().index() + 2; 
 
     $("#TextBoxesGroup").append('<div id="TextBoxDiv'+index+'"><label>Textbox #'+index+' : </label><input type="textbox" id="textbox'+index+'" ></div>'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id='TextBoxesGroup'> 
 
    <div id="TextBoxDiv1"> 
 
     <label>Textbox #1 : </label> 
 
     <input type='textbox' id='textbox1' > 
 
    </div> 
 
</div>

+0

它很好用。但一个小问题,如果我按Tab键去生成的文本框,它会再次生成新的文本框。 –

+0

@MahekShah好提。固定。 – Mohammad

+0

非常感谢..它现在完美的工作:) –