I'm trying to add table rows dynamically consisting of dropdown list which is bind from db. Here's my code: HTML Form
@model IP.Models.Cell
<table id="tbl">
<tr>
<td>NAME</td>
<td>Address count</td>
<td>Salary</td>
<td>Comment</td>
<td>Add</td>
</tr>
<tr class="">
<td>@Html.DropDownList("cList", new SelectList(Model.cList, "UName", "UDesc"), "Please Select", new { @class = "form-control"})</td>
<td><input id="tadc" type="number" class="form-control" /></td>
<td><input id="tsal" type="number" class="form-control" /></td>
<td><input id="tcom" type="number" class="form-control" /></td>
<td><input type="button" value="Add" id="abc" class="value3" onclick="insRow()" /></td>
</tr>
</table>
Javascript
function insRow() {
console.log('hi');
var x = document.getElementById('tbl');
var new_row = x.rows[1].cloneNode(true);
var len = x.rows.length;
var inp1 = new_row.cells[1].getElementsByTagName('select')[0];
inp1.id += len;
inp1.value = '';
var inp2 = new_row.cells[2].getElementsByTagName('input')[0];
inp2.id += len;
inp2.value = '';
var inp3 = new_row.cells[3].getElementsByTagName('input')[0];
inp3.id += len;
inp3.value = '';
var inp4 = new_row.cells[4].getElementsByTagName('input')[0];
inp4.id += len;
inp4.value = '';
x.appendChild(new_row);
}
As you can see i have one dropdown list and three text fields and one Add button.What i want
1.To repeat the same structure as of first row.but how to read element tag name for drpdown i am not sure tried as var inp1 = new_row.cells[1].getElementsByTagName('select')[0]; but don't know whether it is correct.
2.The ids of the dropdown & textfields should also be different since I'll retrieve the values later to put it in a database.
Any idea would be appreciated.