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

时间:2014-01-29 17:30:34

标签: jquery html input add rename

我在互联网上使用了以下代码,但我没有想到如何在输入重命名时自动添加或删除输入。

HTML

<input type="text" value="" id="qta_alternativas" size="4" /><div id="div_01"><a href="#" id="add">Adicionar</a></div>
        <div id="div_03">
          <div id="p_scents">
            <p>
              <input type="text" id="p_scnt" size="50" name="opcao_1" />
            </p>
          </div>
        </div>

的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;
    });

});

示例:

<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" />

如果我删除输入名称=“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" />

我该怎么做?!有人可以帮帮我吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

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

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

它将使用以&#34; opcao _&#34;开头的名称属性来浏览所有输入。并使用索引重命名它们。

答案 1 :(得分:0)

我将此代码添加到我的代码中......它正在运行!!

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