This does NOT work (custom binding is called but dropdown is empty)
The generic solution
HTML
and javascript is
ko.bindingHandlers.comboBox = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, context) {
var bindings = valueAccessor();
var optionsObservableArray = bindings.options;
optionsObservableArray.subscribe(function (newObservableArray) {
if (newObservableArray && newObservableArray.length > 0) {
if (element.comboBoxInitialised) {
return;
}
ko.applyBindingsToNode(element, {
options: bindings.options,
optionsCaption: bindings.optionsCaption,
optionsText: bindings.optionsText,
value: bindings.value
});
$(element).chosen({});
element.comboBoxInitialised = true;
}
});
}
};