One option would be to build a list in your view model like:
this.availableStatuses = ko.computed(function() {
var statuses = [];
if (this.editStatusCanShowActive()) {
statuses.push({ name: "Active", value: "A" });
}
if (this.editStatusCanShowInactive()) {
statuses.push({ name: "Inactive", value: "I" });
}
if (this.editStatusCanShowHold)) {
statuses.push({ name: "Hold", value: "H" });
}
if (this.editStatusCanShowLocked()) {
statuses.push({ name: "Locked", value: "I" });
}
return statuses;
}, this);
Then, bind in your UI like:
<select data-bind="options: availableStatuses, optionsText: 'name', optionsValue: 'value', value: editStatus"></select>