myvalue binding

Initial value comes from control

HTML

<script src="http://cloud.github.com/downloads/SteveSanderson/knockout/knockout-2.1.0.js"></script>
<input type="text" data-bind="myvalue: Title" value="This Title will be used" />

<p>Title is "<span data-bind="text: Title"></span>"</p>

<input type="text" data-bind="value: Title" value="This Title will not be used" />

CSS

h2 { padding: 5px; }

JavaScript

ko.bindingHandlers['myvalue'] = {
    'init': function (element, valueAccessor, allBindingsAccessor) {
        // call existing value init code
        ko.bindingHandlers['value'].init(element, valueAccessor, allBindingsAccessor);

        // update view model value from control on init
        var modelValue = valueAccessor();
        var elementValue = ko.selectExtensions.readValue(element);
        modelValue(elementValue);
        //ko.jsonExpressionRewriting.writeValueToProperty(modelValue, allBindingsAccessor, 'value', elementValue, /* checkIfDifferent: */ true);
    },
    'update': function (element, valueAccessor) {
        // call existing value update code
        ko.bindingHandlers['value'].update(element, valueAccessor);
    }
};

function ViewModel() {
    var self = this;
    self.Title = ko.observable("This Title will not be used either");
}

var my = { vm: new ViewModel() };
ko.applyBindings(my.vm);