2017-03-16 50 views
1

已将此代码从here中取出。如何更新文本框id dyamically?

如果我想删除一个文本框,我该如何更新文本框id s的其余部分?例如,如果我删除第三行的文本框,则第四行的文本框现在应该有id的,而不是。

$(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

为什么你需要的ID? – epascarello

+0

为什么他们必须是连续的?重要的是他们是独一无二的。 – Barmar

+0

你不应该更新文本框的id,而应该更新你的js中的id,它将根据它进行一些操作。 –

回答

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

这将遍历每个你的文本框

+0

我试着用你的代码,但它不适用于我 – Chinmay

+0

你给课程给你的文本框? –

+0

在这里发布您的代码,以便我可以看到什么不起作用 –