5

私はノックアウト.jsが初めてです。ノックアウト js を使用して、API からドロップダウンにデータをバインドできませんでした。

APIとドロップダウンからの私のJsonデータは次のとおりです。

[{
ContactID: 0,
FirstName: "Aaa",
LastName: "bbb",
MobileNumber: null,
StartDate: "0001-01-01T00:00:00",
EndDate: "0001-01-01T00:00:00"
},
{
ContactID: 0,
FirstName: "Ccc",
LastName: "ddd",
MobileNumber: null,
StartDate: "0001-01-01T00:00:00",
EndDate: "0001-01-01T00:00:00"
}
]
<select id="selectmenu1" name="" data-theme="c" data-bind="optionsCaption: 'Choose...'">        </select> 

firstname、lastname、contactID をドロップダウンにバインドし、firstname と lastname をテキストとして表示し、contactID はそのアイテムの値フィールドです。誰かがこれに関していくつかの提案をしてもらえますか?

4

2 に答える 2

12

You need to use the options binding, where you need to specify:

  • your array of items in the options (see in doc Example 3)
  • you need to set the optionsValue: 'ContactID' to have the ContactID as the value
  • you need to specify a function in the optionsText which builds your select texts (see in doc Example 4)

So your final binding will look like:

<select id="selectmenu1" name="" data-theme="c" 
  data-bind="options: contacts, 
             optionsValue: 'ContactID', 
             optionsText: function(i) { return i.FirstName + ' ' + i.LastName }, 
             optionsCaption: 'Choose...'">        
</select>

Demo JSFiddle.

于 2013-08-08T11:40:59.170 に答える