2016-12-27 94 views
0

我一直與淘汰賽綁定了幾天,我已經定義了一個選擇如下:淘汰賽綁定默認值

<select data-bind="options: availableLanguages, value: selectedLanguage, optionsText: 'Name', optionsValue: 'Id'"></select> 

我收到的語言列表(availableLanguages)和從默認語言(selectedLanguage):

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"; 

和我填的是淘汰賽觀察到:

_mVM.availableLanguages = ko.observableArray(); 
_mVM.selectedLanguage = ko.observable(); 

_mVM.availableLanguages(languagesList); 
_mVM.selectedUnit(userLanguage); 

我設法只顯示來自availableLanguages的名稱,但我需要默認語言爲Espanol,但始終是列表中的第一語言,在我的情況下是英語。

可以將默認語言更改爲Espanol?

回答

1

_mVM.availableLanguages(languagesList);

selectedLanguage("es"); 
+0

想法是因爲默認的是從它可以改變,所以我不認爲選擇默認語言這種方式是最好的數據庫來只是設置selectedLanguage值。 – Dana

+0

@Dana,您存儲默認語言的地方並不重要。您需要在客戶端中擁有該defaultLang。無論如何你還需要調用seledtedLanguage(defaultLang)。 –

+0

你是對的!謝謝! :) – Dana