I'm experiencing this weird bug with IE10 and it doesn't happen in Chrome or Firefox.
The bug is that when I use form-control from Bootstrap combine on a pair of parent-child select elements with Knockout data binding, the child select takes forever to refresh. But if you mouse over the child element, it refreshes right away.
Here's the JS to reproduce it.
Try browse this link with IE10 and change the value in the first select, the second select will not refresh unless you wait for a long time or mouse over to the second select.
But if I do not use form-control class for select elements, the problem goes away like in this link.
HTML
<label for="cats">Categories</label>
<select id="cats" data-bind="options: availableCats, optionsText: 'name', value: selectedCat, event: {change: populateItems}" class="xform-control"></select>
<label for="items">Items</label>
<select id="items" data-bind="options: availableItems, optionsText: 'name', value: selectedItem" class="xform-control
JS
$(document).ready(function () {
var BaseVM = function () {
var that = {};
return that;
};
var TestVM = function () {
var that = BaseVM();
that.availableCats = ko.observableArray([{
name: '--'
}, {
name: 'pork'
}, {
name: 'ham'
}]);
that.selectedCat = ko.observable(null);
that.availableItems = ko.observableArray([]);
that.selectedItem = ko.observable(null);
that.populateItems = function () {
that.availableItems([]);
if (that.selectedCat().name === 'pork') {
that.availableItems([{
name: 'chop'
}]);
} else if (that.selectedCat().name === 'ham') {
that.availableItems([{
name: 'spam'
}]);
}
};
return that;
};
var vm = TestVM();
ko.applyBindings(vm);
});