【发布时间】:2017-06-23 20:22:11
【问题描述】:
我有一个对象,它有一个学校列表,其中包含嵌套类和每个类中的嵌套学生
我需要绑定 optionsText 以显示层次结构,以便下拉菜单显示选项,就像:
A校有
学生 1
学生 2
B校有
学生 4
学生 5
学生 6
我可以在下拉列表中获得学校的名称,但我可以通过课堂上的 foreach 获得的学生部分显示为“未定义”,绑定如下。
<select data-bind="options: SchoolList, optionsText: function (item) { return item.School + '|' + item.Classes.forEach(function (item) { return item.Student})}, optionsValue: 'Id', value:SchoolListId, optionsCaption: 'Select'" id="school" name="school" class="school"></select>
任何帮助将不胜感激,
【问题讨论】:
-
也许这行得通:
optionsText: function (item) { return item.School () + '|' + $.map(item.Classes(), function(val,index) { return val.Student()}).join(', '); } -
感谢您的帮助。我已经尝试过了,但它保持返回为空。无论如何,我已经了解了 .map,这很好。
标签: knockout.js