public List<double> MinWeeklyPayrollHrs { get; set; }
<table>
<tr>
[... header cells]
</tr>
<tr>
<td rowspan="2">WeeklyPayrollhours</td>
<td>Minimum</td>
<td><input data-bind="value: minimumWeek1Hours" /></td>
<td><input data-bind="value: minimumWeek2Hours" /></td>
[... other minimum hours cells]
</tr>
[... other rows following the same pattern as above]
</table>
<table>
<tr>
[... header rows]
</tr>
<tr>
<td rowspan="2">WeeklyPayrollhours</td>
<td>Minimum</td>
<!--ko foreach: minimumHoursArray -->
<td><input data-bind="value: $data"/></td>
<!--/ko-->
[...so onfor other rows]
</table>
<!--ko foreach:WeeklyData --> <td><input id="Weeklymaxhr" data-bind="value: $data"/></td> <!--/ko-->
<input id="Weeklymaxhr" data-bind="value: $data" />
<tr class="formFields"><td>Maximum</td> <!--ko foreach:MaxWeeklyPayrollHrs --> <td style="width:10%"><input class="txtbox" style="width:50px;" align="middle" data-bind="value: $data, attr:{ 'id': 'Weeklymaxhr' + $index }"/></td><!--/ko--></tr>
<input align="middle" data-bind="value: $data, attr:{ 'id': 'Weeklyminhr' + $index }" style="width:50px;" class="txtbox" id="Weeklyminhrfunction d(){if(0<arguments.length){if(!d.equalityComparer||!d.equalityComparer(c,arguments[0]))d.H(),c=arguments[0],d.G();return this}b.r.Wa(d);return c}">
$index
is an observable and is updated whenever the index of the item changes
<input class="txtbox" style="width:50px;" align="middle" data-bind="value: $data, attr:{ 'id': 'Weeklymaxhr' + $index() }"/>
public class DailyItem { public int DayOfWeek { get; set; } public string Required { get; set; } public int SetupTime { get; set; } public int CloseTime { get; set; } public double MinWorkShift { get; set; } }
public class Person { public int ID { get; set; } public string Name { get; set; } public string Email { get; set; } public List<Data> Vehicles { get; set; } public int OwnerVehicle { get; set; } public List<double> WeeklyData { get; set; } public List<DailyItem> Week1 { get; set; } }
var DailyItem = function (Day, Required, Setup, Close, MinShift) { this.Day = ko.observable(DayOfWeek); this.Required = ko.observable(Required); this.Setup = ko.observable(SetupTime); this.Close = ko.observable(CloseTime); this.MinShift = ko.observable(MinWorkShift);};
function ViewModel(item) { var parse = JSON.parse(item.d); this.ID = ko.observable(parse.ID); this.Name = ko.observable(parse.Name); this.Email = ko.observable(parse.Email); this.WeeklyData = ko.observable(parse.WeeklyData); this.Vehicles = ko.observableArray(parse.Vehicles); this.OwnerVehicle = ko.observable(parse.OwnerVehicle); this.DailyItemList = ko.observableArray(); var records = (function () { $.map(parse.Week1, function (data) { return new DailyItem(data) }); }); this.DailyItemList(records);}
<tbody data-bind="foreach: DailyItemList"> <tr> <td data-bind="text:Day"></td> <td><input id="Text2" data-bind="value: Required"/></td> <td><input id="Text3" data-bind="value: Setup"/></td> <td><input id="Text4" data-bind="value: Close"/></td> </tr> </tbody>
Person p = new Person();
p.Week1 = new List<DailyItem>() { new DailyItem { DayOfWeek=1, Required="F", SetupTime=0,CloseTime=0, MinWorkShift = 0 }, new DailyItem { DayOfWeek=2, Required="O", SetupTime=15,CloseTime=15, MinWorkShift = 8.5 }, new DailyItem { DayOfWeek=3, Required="O", SetupTime=15,CloseTime=15, MinWorkShift = 6 }, new DailyItem { DayOfWeek=4, Required="O", SetupTime=15,CloseTime=15, MinWorkShift = 7.5 }, new DailyItem { DayOfWeek=5, Required="O", SetupTime=15,CloseTime=15, MinWorkShift = 6 }, };
var records = (function () {
$.map(parse.Week1, function (data) {
return new DailyItem(data)
});
});
var records = $.map(parse.Week1, function(data) { return new DailyItem(data) });
this.DailyItemList = ko.observableArray();
var records = $.map(parse.Week1, function (data) { return new DailyItem(data) });
debugger;
this.DailyItemList(records);
this.DailyItemList = ko.observableArray(parse.Week1);
Person p = new Person();
p.WeeklyData = new List<double> ();p.WeeklyData.Add(30);p.WeeklyData.Add(40);p.WeeklyData.Add(50);p.WeeklyData.Add(40);p.WeeklyData.Add(30);
function ViewModel(item) { var parse = JSON.parse(item.d); this.ID = ko.observable(parse.ID); this.Name = ko.observable(parse.Name); this.Email = ko.observable(parse.Email);
this.WeeklyData = ko.observableArray(parse.WeeklyData);
this.Vehicles = ko.observableArray(parse.Vehicles); this.OwnerVehicle = ko.observable(parse.OwnerVehicle);}
<tr> <td colspan="2">Weekly max hours</td>
<!--ko foreach:WeeklyData --> <td><input id="Weeklymaxhr" data-bind="value: $data"/></td> <!--/ko-->
</tr>