javascript - 删除字段后重置 JavaScript 计数器

标签 javascript jquery

我有一个 JavaScript 函数,可以添加带有计数器的输入字段。现在,当我删除其中一个字段时,它会被删除,但计数器仍在继续! JS 或 JQuery 有没有办法重置计数器并自动递增计数器?

JS代码:

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

        $('#addScnt').live('click', function() {
                $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value'+i+'" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
                i++;
                return false;
        });

        $('#remScnt').live('click', function() { 
                if( i > 2 ) {
                        $(this).parents('p').remove();

                }
                return false;
        });
});

请检查jsfiddle

澄清: 我的字段如下:

no. 1
no. 2
no. 3

我想要的是:删除#2后:

no. 1
no. 3
**To**:
no. 1
no. 2

谢谢

最佳答案

HTML

<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>

<div id="p_scents">
    <p>
        <label for="p_scnts"><input type="text" class="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
    </p>
</div>

JS

function resetIndexes(){
    var j = 1;   
    $('.p_scnt').each(function(){
        if( j > 1){
            $(this).attr('name', 'p_scnt_' + j);
            $(this).attr('placeholder', 'Input Value'+j);
        }   
        j++;    
    });
}


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

    $('#addScnt').on('click', function() {
        i = $('#p_scents .p_scnt').size() + 1;   
        $('<p><label for="p_scnts"><input type="text" size="20" class="p_scnt" name="p_scnt_' + i +'" value="" placeholder="Input Value'+i+'" /></label> <a href="#" class="remScnt">Remove</a></p>').appendTo(scntDiv);
        i++;
        return false;
    });

    $('#p_scents').on('click', '.remScnt', function() { 
            if( i > 2 ) {
                    $(this).parents('p').remove();
                    resetIndexes();
            }
            return false;
    });
});

这是JSFiddle

关于javascript - 删除字段后重置 JavaScript 计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31639850/

相关文章:

javascript - 如何从数组列表创建多维数组/数组树?

javascript - MathJax JS API : How to send a var with text in it and get html out of it?

javascript - Angular 2如何连接生产文件

javascript - Highcharts - 双 y 轴不显示

javascript - jQuery - 将方法应用于多个对象

javascript - 通过递归查找多维数组的最后一个满足条件的元素

javascript - 如何使用文本预览在 html/css/js 中创建可扩展的博客文章

javascript - JQuery/Ajax 发布到 php 会破坏 JQuery/Js 代码吗?

jQuery,使用 !说 "not selected"

javascript - $_FILES 为空且不包含任何数据