删除动态创建的文本框


delete dynamically created textbox

我有以下代码,用于在单击按钮时动态添加文本框。它有效。

<div id="forms" name="forms">
  <input name="winner[]" type="text" id="tag" size="20"/><br/>
</div>
<input type="button" name="addmore" id="addmore" value="Add More Winners" onclick="addForm()"/>

上述代码的 javascript 是:

function addForm() {
    $("#forms").append(
            "<input type ='text' class='winner' name='winner[]'><br/>");
    $(".winner").autocomplete("autocomplete.php", {
    selectFirst: true
    });
}

我正在使用自动完成从文本框中的数据库获取数据

我想要的是 - 假设如果用户单击添加更多获胜者按钮但不想在文本框中添加任何数据,我应该给他一个按钮来删除额外的文本框。应该如何为此编写 JavaScript?

请看我上面的代码

var i=0;    
function addForm() {
    i++;
   $("#forms").append(
"<input type ='text' id='input_'"+i+" class='winner' name='winner[]'><button    onclick='delete('"+i+"')' id='button_'"+i+">delete</button><br/>");
$(".winner").autocomplete("autocomplete.php", {
selectFirst: true
});
function delete(i)
{
    $("#input_"+i).remove();
    $("#button_"+i).remove();
}

只需使用计数器为输入和按钮设置ID,并将该计数器发送到删除功能;

只需使用以下代码:

   $("#forms").append("<p><input type ='text' class='winner' name='winner[]' ><button onclick='$(this).parent().remove()'>delete</button></p>");

试试这个函数。

function removeElement()
{
if(intTextBox != 0)
{
var contentID = document.getElementById('content');
contentID.removeChild(document.getElementById('strText'+intTextBox));
intTextBox = intTextBox-1;
}
}

尝试在动态添加文本框时添加删除按钮,以便在必要时删除文本框

这是 html 代码

    <div id="forms" name="forms">
      <input name="winner[]" type="text" id="tag" size="20"/><br/>
    </div>
    <input type="button" name="addmore" id="addmore" value="Add More Winners" />

这是jQuery代码

    $('#addmore').click(function () {
        $('#forms').append('<input type ="text" class="winner" name="winner[]"><input type="button" onclick="$(this).prev().remove();$(this).remove();">');
    });

这是演示