0

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

<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

4 回答 4

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();

}

simply use a counter to set an ID to inputs and buttons and send that counter to delete function;

于 2013-10-03T05:22:11.363 回答
1

只需使用以下代码:

   $("#forms").append("<p><input type ='text' class='winner' name='winner[]' ><button onclick='$(this).parent().remove()'>delete</button></p>");
于 2013-10-03T05:47:31.447 回答
0

试试这个功能。

function removeElement()
{
if(intTextBox != 0)
{
var contentID = document.getElementById('content');
contentID.removeChild(document.getElementById('strText'+intTextBox));
intTextBox = intTextBox-1;
}
}
于 2013-10-03T05:29:01.493 回答
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();">');
    });

这是演示

于 2013-10-03T06:03:35.120 回答