我是automapper KO的新手 . 我有这个代码:
var jData = [
{ "Id": 2, "Name": "A" },
{ "Id": 3, "Name": "B" },
{ "Id": 4, "Name": "C" }]
};
var viewModel = ko.mapping.fromJSON(JSON.stringify(jData));
ko.applyBindings(viewModel);
此代码有效:
<div data-bind="foreach : $data">
<input type="text" data-bind='value: Name' />
</div>
但如果我想通过 Map 选择:
<select id="prova" data-bind='options: $data, optionsText: "Name", optionsValue: "Id" , value: Id'></select>
我收到了这个错误
启用解析绑定 . 消息:ReferenceError:'Id'未定义;绑定值:选项:$ data,optionsText:"Name",optionsValue:"Id",value:Id
怎么了?谢谢L
2 回答
问题的根本原因是您的视图模型不包含Id属性 . 你应该添加它 . 我会实现这样的事情:
HTML:
这是工作小提琴:http://jsfiddle.net/ardr8/
问题是值:Id绑定,Id需要在“”中 . 此外,值绑定应该用于在下拉列表中设置所选值,只需将其设置为Id将始终选择值为1的值 .
检查jsfiddle这里http://jsfiddle.net/uVfgx/