JSFiddle - React, Tailwind, and code Playground
HTML
<p>Nombre: <input type="text" data-bind="value: firstname" /></p>
<p>Apellidos: <input type="text" data-bind="value: lastname" /></p>
<p>Nombre completo: <input type="text" data-bind="value: name"></p>
JavaScript
function ViewModel(model) {
var self = this;
self.firstname = ko.observable('');
self.lastname = ko.observable('');
self.name = ko.computed({
read: function() {
if (self.firstname() == '' || self.lastname() == '') return '';
return self.lastname() + ', ' + self.firstname();
},
write: function(value) {
var index = value.lastIndexOf(", ");
if (index > 0)
{
self.firstname(value.substring(index + 2));
self.lastname(value.substring(0, index));
}
}
});
}
var viewModel = new ViewModel();
ko.applyBindings(viewModel);