我终于让 optgroups 使用这个来与 Knockout 一起工作:
<select data-bind="foreach: $root.countries, value: selectedCountry">
<optgroup data-bind="attr: {label: label}, foreach: children">
<option data-bind="text: label"></option>
</optgroup>
</select>
这显示了按大陆分组的所有国家/地区的列表。但是,我无法让 selectedCountry 工作。我在这里想念什么?
作为记录: selectedCountry 是“用户”(用户居住的国家/地区)的属性。我使用这个循环所有用户:
<tbody class="sortable user_div" data-bind="sortable: { data: form.users }">
<!-- Here a <tr> and all form elements, including the <select> above -->
</tbody>
这在相同tbody
的范围内起作用select
:
<td><input type="text" data-bind="value: userName" /></td>
我以相同的方式访问 userName 和 selectedCountry(如您所见)。两者都是 User 对象的属性。我 100% 肯定 selectedCountry 是正确的属性。当我切换 userName 和 selectedCountry 时,我在<input type="text">
.