我终于让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是“user”(用户所在的国家/地区)的属性。我使用这个循环遍历所有用户:
<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%正面选择国家是正确的财产。当我切换userName和selectedCountry时,我在<input type="text">
中获得了selectedCountry。
答案 0 :(得分:0)
<option data-bind="text: label"></option>
&lt; - 我没有约束任何价值。所以这就是解决方案:
<option data-bind="text: label, value: label"></option>