Disable option caption with knockout
Supposed to disable the first "caption" select option using a re-usable bindingHandler
HTML
<label>First Go
<select data-bind="options: items, optionsCaption:'please select', optionsAfterRender: function(option, item) { ko.applyBindingsToNode(option, {disable: !item}, item); }"></select>
</label>
JavaScript
var viewModel = {
items: ko.observableArray(['one', 'two'])
};
ko.bindingHandlers.disableOptionsCaption = {
init: function (element) {
ko.applyBindingsToNode(element, {
optionsAfterRender: function (option, item) {
ko.applyBindingsToNode(option, {
disable: !item
}, item);
}
});
}
};
ko.applyBindings(viewModel);