我正在尝试基于 Knockout.js Cart 示例创建一个级联下拉列表,但使用 Mapping 插件来获取我的数据。
我的映射插件工作正常,模板工作正常,第一个选择很好,但第二个选择出错。
错误:
Uncaught Error: Unable to parse bindings.
消息:ReferenceError:PayCodes 未定义;绑定值:options:PayCodes, optionsValue:'Value', optionsText:'Text', value: $parent.PayCodeId
换行:
<select data-bind="options:PayCodes, optionsValue:'Value', optionsText:'Text', value: $parent.PayCodeId" class='type'></select>
to:(添加了“this”关键字)
<select data-bind="options:this.PayCodes, optionsValue:'Value', optionsText:'Text', value: $parent.PayCodeId" class='type'></select>
修复了错误,但第二个选择仍然不起作用。它永远不会有任何选择。PayCodes 数组存在,如附加的 JSON 数据所示。
这是复制问题的小提琴:http: //jsfiddle.net/JLhSx/13/
格式化的 JSON 在这里,以防万一。
有什么建议么?
编辑原件:
添加
在我的“with:”部分中只返回我的 PayTypeId 的 ID,因此“with:”部分没有像我预期的那样获得完整的可观察的 PayTypes 数组。我该如何重构它,以便第一个下拉列表显示 PayTypes 列表,第二个下拉列表显示所选 PayType 的 PayCodes?
更新的小提琴
谢谢!