2017-03-16 55 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

在這裏發佈您的代碼,以便我可以看到什麼不起作用 –