JSFiddle - React, Tailwind, and code Playground
HTML
<ul data-bind="foreach: dynamicFields">
<li>
<label data-bind="text: label, attr: { for: 'input' + $index() }"></label>
<input type="text" data-bind="value: value"/>
</li>
</ul>
<button data-bind="click:showStuff">Alert dynamic field values</button>
JavaScript
function ViewModel(){
var self = this;
self.dynamicFields = [
{
name: "email",
value: "me@gmailllllll.com",
type: "text",
validation: {required: true},
label: "Email Address",
},
{
name: "username",
value: "bobsmith",
type: "text",
validation: {required: true},
label: "Username"
}
];
self.showStuff = function(){
alert(ko.toJSON(self.dynamicFields, null, 2));
};
}
ko.applyBindings(new ViewModel());