2013-11-26 29 views
1

我是新來的淘汰賽,我有以下問題:淘汰賽depandent變量:如何定義結構正確

我從IDS數據庫來了,每個ID都有其相應的說明(這是.NET actualy枚舉,但我認爲這個問題在這個問題上並不重要)。

例如,

a)用於變量 「PType 」:0 - Undefined; 1 - Low Structure; 2 - Hight Structure b)中爲變量「 ClientType」:0 - Undefined, 1 - P Type; 2 - S Type 等某些其他變量也

如何正確地定義模型這種依賴性? 目前我只喜歡

PType: ko.observable(); 
ClientType: ko.observable(); 

ID和我出示本人身份證件頁:

<span data-bind="text: PType"></span> 
<span data-bind="text: ClientType"></span> 

不過,我需要這樣的:PTypeDescriptionClientTypeDescription來顯示用戶。我相信這些都是某種因變量,但無法讓它工作。

回答

1

首先我會假設你已經知道什麼枚舉你有,當你通過AJAX獲取數據,你就會得到枚舉值表示爲integerstring

您可以模擬枚舉JavaScript簡單(檢查this article):

var PType = { 0: "Undefined", 1: "Low Structure", 2: "Hight Structure" } 
var ClientType = { 0: "Undefined", 1: "P Type", 2: "S Type" } 

所以,你的視圖模型可以是這樣的:

var itemObj = { 
    PType: ko.observable(0); 
    ClientType: ko.observable(0); 
    property1:ko.observable('')// put here the other properties if you have more 
} 

爲了讓您的枚舉重作爲enum編寫的調用函數,它使用value(「你的枚舉鍵」)和哪個枚舉使用(「你可以使用內聯函數」)。

JsFiddle Demo

更新
檢查這個SO answer在JS另一個implementaion的枚舉,它的簡單而有效的