删除动态创建的文本框

时间:2013-10-03 05:12:03

标签: javascript php jquery 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" onclick="addForm()"/>

以上代码的javascript是:

function addForm() {
    $("#forms").append(
            "<input type ='text' class='winner' name='winner[]'><br/>");

    $(".winner").autocomplete("autocomplete.php", {
    selectFirst: true
    });
}

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

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

请参阅上面的代码

4 个答案:

答案 0 :(得分:1)

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,并将该计数器发送到删除功能;

答案 1 :(得分:0)

尝试此功能。

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

答案 2 :(得分:0)

只需使用以下代码:

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

答案 3 :(得分:0)

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

这是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();">');
    });

以下是demo