Reputation: 1998
I've been working with knockout bindings for a couple of days and I've defined a select as below:
<select data-bind="options: availableLanguages, value: selectedLanguage, optionsText: 'Name', optionsValue: 'Id'"></select>
I receive the language list (availableLanguages
) and the default language (selectedLanguage
) from:
internal class AvailableLanguages
{
public string Name { get; set; }
public string Id { get; set; }
}
AvailableLanguages userLanguage = new AvailableLanguages();
List<AvailableLanguages> languagesList = new List<AvailableLanguages>();
languagesList.Add(new AvailableLanguages()
{
Name = "English",
Id = "en"
});
languagesList.Add(new AvailableLanguages()
{
Name = "Francais",
Id = "fr"
});
languagesList.Add(new AvailableLanguages()
{
Name = "Espanol",
Id = "es"
});
languagesList.Add(new AvailableLanguages()
{
Name = "Italian",
Id = "it"
});
languagesList.Add(new AvailableLanguages()
{
Name = "Espanol",
Id = "es"
});
userLanguage.Id = "en";
userLanguage.Name = "English";
and I fill the knockout observable:
_mVM.availableLanguages = ko.observableArray();
_mVM.selectedLanguage = ko.observable();
_mVM.availableLanguages(languagesList);
_mVM.selectedUnit(userLanguage);
I managed to display only the Names from availableLanguages
but I need the default language to be Espanol but is always the first language from the list, in my case English.
It is possible to change the default language to Espanol?
Upvotes: 0
Views: 145
Reputation: 1368
Just set the value for selectedLanguage
after _mVM.availableLanguages(languagesList);
selectedLanguage("es");
Upvotes: 1