0
我看不到如何将下拉列表绑定到模型中的值。无法将<select>绑定到模型值
假设我的强类型型号是FA.Domain.Entities.Account
。
Account
有一个PersonId
字段,我想绑定到选择下拉列表。当显示视图时,我想让它反映@Model.PersonId
的值。
我的代码如下:
选择标签:
<select id="People"
data-bind="options: allPeople,
value: selectedPerson,
optionsValue: 'PersonId',
optionsText: 'NamePP'">
</select>
的Javascript:
var pps = @Html.Raw(new JavaScriptSerializer().Serialize(ViewBag.PossiblePeople));
function person(PersonId, NamePP) {
this.CostCentreId = ko.observable(PersonId);
this.NamePP = ko.observable(NamePP);
}
function PersonViewModel() {
this.selectedPerson = ko.observable('@Model.PersonId');
var mapAllPeople = $.map(pps, function(item) {
return new person(item.PersonId, item.Name)});
this.allPeople = ko.observableArray(mapAllPeople);
}
jQuery(document).ready(function() {
var viewModel = new PersonViewModel();
alert(viewModel.selectedPerson()); // correct value
ko.applyBindings(viewModel);
alert(viewModel.selectedPerson()); // undefined
});
我在做什么错?
我已经提出了两个警报,以显示selectedPerson
的值。一个在绑定发生之前进行并显示正确的值,另一个在后面并显示“未定义”。
非常感谢。森林和树木。 – awrigley