JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.1.0.js"></script>
<div>
    <select data-bind="options: myOptions,attr: { preset: SlotPosition } optionsText: 'Text', optionsValue: 'Value', optionsCaption: 'Select...', event:{change:myChangeRoutine},value: SlotPosition"></select>
</div>

JavaScript

$(function() {
    ko.applyBindings(new ViewModel());
});

var ViewModel = function () {
    var self = this;
    
    self.SlotPosition = ko.observable();
    self.SlotPosition.subscribe(function(newVal){
        alert("afterChange="+newVal);
    });
    self.myOptions = [
        new Slot({Text: '1', Value: 1}),
        new Slot({Text: '2', Value: 2})
    ];
    self.myChangeRoutine=function(){
        alert(self.SlotPosition());
    }
    
};

var Slot = function(slot) {
    var self = this;
    self.Text = slot.Text;
    self.Value = slot.Value;
};