Ответ 1
Как вы правильно догадались, ссылка selectedValue не соответствует, поэтому KO не выбирает этот элемент. Способ заставить это работать - не сохранять сложный объект в выбранном значении и вместо этого выбирать идентификатор, поскольку равенство примитивного типа может быть успешным и выбрано правильное значение.
Вам понадобится опция optionsValue для привязки опций (если это имеет смысл:)
<select data-bind="options: seedData,
optionsText: 'firstName',
optionsValue: 'ID',
value: data.selectedValue">
ИЗМЕНИТЬ
Как обсуждалось, вы можете повторно выбрать правильный элемент с вычисленным (непроверенным).
vm.currentlySelected = ko.computed(function () {
for (var i = 0; i < this.seedData().length; i += 1) {
var data = this.seedData()[i];
if (data.ID === this.selectedValue()) {
return data;
}
}
return null;
}, vm);
Надеюсь, что это поможет.