LAffair
LAffair

Reputation: 1998

Knockout binding default value of custom select list

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

Answers (1)

Kim Hoang
Kim Hoang

Reputation: 1368

Just set the value for selectedLanguage after _mVM.availableLanguages(languagesList);

selectedLanguage("es");

Upvotes: 1

Related Questions