Hi nabilabolo,
Check the example.
Model
public class tagnoListModel
{
public List<tagnoList> tagnoList { get; set; }
public string averageApp { get; set; }
}
public class tagnoList
{
public string TagNo { get; set; }
public string Tonnage { get; set; }
public string Grade { get; set; }
public string YI { get; set; }
}
Controller
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
List<tagnoList> tagnoLists = new List<tagnoList>();
tagnoLists.Add(new tagnoList { TagNo = "125797 - 125801", Tonnage = "5", Grade = "A" });
tagnoLists.Add(new tagnoList { TagNo = "125802 - 125816", Tonnage = "20", Grade = "A" });
tagnoLists.Add(new tagnoList { TagNo = "125817 - 125836", Tonnage = "40", Grade = "NG" });
tagnoLists.Add(new tagnoList { TagNo = "125837 - 125856", Tonnage = "60", Grade = "A" });
tagnoLists.Add(new tagnoList { TagNo = "125857 - 125876", Tonnage = "80", Grade = "A" });
tagnoLists.Add(new tagnoList { TagNo = "125877 - 125896", Tonnage = "100", Grade = "A" });
tagnoLists.Add(new tagnoList { TagNo = "125897 - 125916", Tonnage = "120", Grade = "A" });
tagnoListModel model = new tagnoListModel();
model.tagnoList = tagnoLists;
return View(model);
}
}
View
@model Average_Dynamic_TextBox.Models.tagnoListModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('#btnAverage').on('click', function () {
var total = 0;
$('input[name*=yiRead]').each(function () {
total += isNaN($(this).val()) || $(this).val() == "" ? 0 : parseFloat($(this).val());
});
$('#result').val((total / $('input[name*=yiRead]').length).toFixed(2));
});
});
</script>
</head>
<body>
<table>
<tr>
<th>Tag No</th>
<th>Tonnage</th>
<th>Grade</th>
<th>YI</th>
</tr>
@for (int d = 0; d < Model.tagnoList.Count; d++)
{
<tr class="spaceUnder">
<td>@Model.tagnoList[d].TagNo.ToString()</td>
<td>@Model.tagnoList[d].Tonnage.ToString()</td>
<td><input type="text" value="@Model.tagnoList[d].Grade.ToString()" /></td>
<td>
<div>
<input type="text" class="form-control" name="yiRead[]" />
</div>
</td>
</tr>
}
<tr>
<td><input id="btnAverage" type="button" class="form-control btn btn-info" value="Average" /></td>
<td></td>
<td></td>
<td>
<div>
@Html.TextBoxFor(m => m.averageApp, new { @class = "form-control", @id = "result", @style = "height: 30px" })
</div>
</td>
</tr>
</table>
</body>
</html>
Screenshot
