javascript - jQuery change number inside a name attribute -


i'm writing javascript clone table row containing form elements.

it's working far there's 1 piece can't quite figure out.

the element names have number increases every row.

e.g:

<table>     <tbody>         <tr>             <td><input type="text" name="name[0][abc]" /></td>             <td><button class="add-row-button">+</button></td>         </tr>         <tr>             <td><input type="text" name="name[1][abc]" /></td>             <td><button class="add-row-button">+</button></td>         </tr>     </tbody> </table> 

i need cloned row update number. there multiple fields in each row need updated number can't include new name in jquery code. think has happen need name, use regex replace, update attribute.

here's current (simplified example) jquery:

// current num of elements. names 0 based number used // new name. var formrowcount = $('table tr').length;  $('.add-row-button').click(function() {     // clone last row.     $(this).closest('tr').last().clone().insertafter($(this).closest('tr'));      // set new field selector.     var $newrow = $(this).closest('tr').next();      $newrow.find('input[type="text"]').val('');      formrowcount++; }); 

can point me in right direction. before formrowcount++; need current element name , update number formrowcount.

yeah, can use regex if want.

var formrowcount = $('table tr').length;  $('.add-row-button').click(function() {      // clone last row , insert it.     $(this).closest('tr').last().clone().insertafter($(this).closest('tr'));      // select input field     var $newinput = $(this).closest('tr').next().find('input[type="text"]');      // update input value , name attribute     var newname = $newinput.attr('name').replace(/^(name\[)\d+(\].+)$/, '$1' + formrowcount + '$2');     $newinput.val('').attr('name', newname);      // update number     formrowcount++;  }); 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -