Hi,
With jquery, I'm dynamically adding rows. To do this, I'm copying the first of the table and then with some regex I'm changing the names and sometimes ids from thing like "column_name[0]" to "column_name[1]". This is the regex that I'm using:
newRow = newRow.replace(new RegExp("\\[[0-9]+][\"\']", "gm"), "[" + $("#rowNum").val() + "]\"");
This is working fine.
I'm also adding a link to dynamically delete this line. This delete link has the following JQuery executed upon a click:
$(this).parents(\"tr.deletable\").remove();
This is also working fine.
Now, my problem is when a user adds 3 rows, and then deletes the first row. I want the second two rows to decrement their index number. For example column_name[2] would change to column_name[1]. How should I go about doing this? Here's what I've been trying so far:
$(this).parents("tr.deletable").nextAll().html().replace(new RegExp("\\[[0-9]+][\"\']", "gm"), "[" + i + "]\"");
I have i set to 50 just to see if it successfully puts that in as the new index but it does not. I haven't figured out smoothly get the decremented value. The above code does not work.
Does anyone have any suggestions on how I can accomplish this?
As for why I need to do this, it's because I'm using Java Struts and it requires all the form elements to have a name with a proper index at the end.