I have a knockout custom binding that takes a value and returns an enum. This is for user readability. The problem is that when passing in the parameter for this binding, it just comes back blank. I've tried passing in the parameter as an observable, ex: PurchaseOrderStatus[Status()].
The view:
<td style="vertical-align: top">
<label>Status</label><br />
<span data-bind="text: PurchaseOrderStatus[Status]"></span>
</td>
PurchaseOrderStatus = function() { };
PurchaseOrderStatus.prototype = {
Closed: 67,
Deleted: 68,
Finalized: 70,
Open: 79}
PurchaseOrderStatus.registerEnum('PurchaseOrderStatus', false);
how about something like this.
function model() {
var self = this;
this.PurchaseOrderStatus = ko.observable({
'67': 'Closed',
'68': 'Deleted',
'70': 'Finalized',
'79': 'Open'
});
this.status = ko.observable('68');
}
var mymodel = new model();
$(document).ready(function() {
ko.applyBindings(mymodel);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span data-bind="text: PurchaseOrderStatus()[status()]"></span>