添加、删除和重命名输入jQuery

添加、删除和重命名输入jQuery,jquery,html,input,add,rename,Jquery,Html,Input,Add,Rename,我在互联网上获取了下面的代码,但我不知道如何在添加或删除输入时自动重命名输入 html jQuery $(function() { var scntDiv = $('#p_scents'); var i = $('#p_scents p').size() + 1; $('#add').live('click', function() { $('<p><input type="text" id="p_scnt" s

我在互联网上获取了下面的代码,但我不知道如何在添加或删除输入时自动重命名输入

html



jQuery

    $(function() {
    var scntDiv = $('#p_scents');
    var i = $('#p_scents p').size() + 1;

    $('#add').live('click', function() {
            $('<p><input type="text" id="p_scnt" size="50" name="opcao_' + i +'" /><a href="#" id="remove_opcao">Remover</a></p>').appendTo(scntDiv);
            i++;
            document.getElementById('qta_alternativas').value = i-1;
            return false;
    });

    $('#remove_opcao').live('click', function() { 
            if( i > 2 ) {
                    $(this).parents('p').remove();
                    i--;
                    document.getElementById('qta_alternativas').value = i-1;
            }
            return false;
    });

    $("input[name^=opcao_]").each(function(index) {
        this.name = "opcao_" + index;
    });
$(函数(){
var scntDiv=$('p#u scents');
变量i=$('#p#p').size()+1;
$('#添加').live('单击',函数()){
$('p>

')。附录(scntDiv); i++; document.getElementById('qta_alternativas')。value=i-1; 返回false; }); $('#remove_opcao').live('click',function(){ 如果(i>2){ $(this.parents('p').remove(); 我--; document.getElementById('qta_alternativas')。value=i-1; } 返回false; }); $(“input[name^=opcao_]”)。每个(函数(索引){ this.name=“opcao”+索引; });
}))

例如:

<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_3" />
<input type="text" id="p_scnt" size="50" name="opcao_4" />

如果我删除输入name=“opcao_3”,我的代码将如下所示:

<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_4" />
<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_3" />

但当我删除代码时,我想:

<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_4" />
<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_3" />

我怎么能这么做?!有人能帮我吗


谢谢

将此代码添加到删除单击处理程序的末尾

$("input[name^=opcao_]").each(function(index) {
    this.name = "opcao_" + index;
});

它将使用以“opcao_u2;”开头的name属性遍历所有输入,并使用索引重命名它们。

我将此代码添加到我的代码中。。它正在工作

$(document).delegate('a','click',function()
{
    $( this ).parent('p').remove();
});

向我们展示您必须删除输入的功能。只需稍加修改即可重命名其余的。另外,你不应该有相同ID的元素。这应该被更改。你的JavaScript代码在哪里?仅供参考,
ID
应该是唯一的为什么你不删除opcao_4?它不起作用:(我以前也试过,但我不知道为什么它不起作用,直到你去掉所有重复的ID(我怀疑还有比我们上面看到的更多的问题)那么您将遇到问题。该代码将完全按照您的要求执行,因此如果它不起作用,那么在其他地方就会出现问题。您在控制台中有任何错误吗?