readonly atribute binding

https://groups.google.com/d/topic/knockoutjs/wzP0tbFPhSs/discussion

by patelsan

HTML

<script src="https://github.com/jquery/jquery-tmpl/raw/master/jquery.tmpl.js"></script>
<script src="https://github.com/SteveSanderson/knockout/raw/master/build/output/knockout-latest.debug.js"></script>
Make read-only? <input type="checkbox" data-bind="checked: locked" /> 
<hr/> 
<textarea readOnly="true" data-bind="value: text, readOnly: locked"  rows="5"  cols="20"></textarea>

JavaScript

ko.bindingHandlers.readOnly = {
    update: function(element, valueAccessor) {
        var value = ko.utils.unwrapObservable(valueAccessor());
        if (value) {
            element.setAttribute("readOnly", true); 
        }  else {
            element.removeAttribute("readOnly");
        }  
    }  
}
 
var viewModel = {
    text: ko.observable("test"),
    locked: ko.observable(false)
};
 
 
ko.applyBindings(viewModel);