Я посмотрел на этот другой вопрос, но не могу заставить мой блок выбора работать правильно:
Привязка начального / заданного по умолчанию значения раскрывающегося списка (выбрать)
У меня есть следующий игровой объект:
function Game(visitingTeamDetails, homeTeamDetails, game) {
if (arguments.length > 0) {
this.VisitingTeamDetails = visitingTeamDetails;
this.HomeTeamDetails = homeTeamDetails;
this.GameId = ko.observable(game.GameId);
this.HomeTeamName = ko.observable(game.HomeTeamName);
this.VisitingTeamName = ko.observable(game.VisitingTeamName);
this.SportTypeName = ko.observable(game.SportTypeName);
this.HomeAccountName = ko.observable(game.HomeAccountName);
this.VisitingAccountName = ko.observable(game.VisitingAccountName);
this.GameDateString = ko.observable(game.GameDateString);
this.GameTimeString = ko.observable(game.GameTimeString);
this.AvailableSportTypes = ko.observableArray(game.Sports);
this.sportTypeFunction = function () {
for (sportType in this.AvailableSportTypes()) {
if (this.AvailableSportTypes()[sportType].Name == this.SportTypeName()) {
return this.AvailableSportTypes()[sportType];
}
}
return null;
};
this.SportType = ko.observable(game.SportType);
}
}
SportType - это объект с Name
и SportTypeId
.
У меня есть следующий шаблон:
<td rowspan="3"><select data-bind="options: AvailableSportTypes, value: SportType, optionsText:'Name', optionsCaption: 'Choose...'" class="sportType"></select></td>
AvailableSportTypes
- это список SportType
.
Появляется список с именами SportTypes из выпадающего списка, но я не могу сделать начальный выбор SportType
. Я написал sportTypeFunction
, чтобы показать себе, что данные поступают правильно, и он выберет правильное значение, но изменение моего выбора в выпадающем списке не приведет к обновлению SportType.
Я уверен, что делаю что-то не так. Кто-нибудь видел это?
Спасибо