如何以动态方式更新文本框id?

时间:2017-03-16 17:20:58

标签: javascript jquery

here获取此代码。

如果我想删除文本框,如何更新文本框id的其余部分?例如,如果我删除第三行的文本框,那么第4行的文本框现在应该有id 3 ,而不是 4

   $(document).ready(function() {
        var max_fields      = 10; /
        var wrapper         = $(".input_fields_wrap"); 
        var add_button      = $(".add_field_button");     
        var x = 1; //initlal text box count
        $(add_button).click(function(e){ 
            e.preventDefault();
            if(x < max_fields){ 
                x++; 
                $(wrapper).append('<div><input type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); //add input box
            }
        });

        $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
            e.preventDefault(); $(this).parent('div').remove(); x--;
        })
    });
    <div class="input_fields_wrap">
        <button class="add_field_button">Add More Fields</button>
        <div><input type="text" name="mytext[]" id =" + x + "></div>
    </div>

1 个答案:

答案 0 :(得分:0)

很简单,给你所有textboxes一个class,名字可以是任何东西, 之后使用jquery的类选择器获取所有文本框,如下所示

$(".your-class-name")

返回textboxes数组。 然后你像这样迭代那个数组,

$(".your-class-name").forEach(function(textbox,i) {
   $(textbox).attr('id', i+1); // i is the index, starts with 0
});

这会迭代你所有的文本框