【问题标题】:'Value' binding doesn't work with optgroup in Knockout“值”绑定不适用于 Knockout 中的 optgroup
【发布时间】:2013-01-10 17:16:39
【问题描述】:

我终于让 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 时,我会在 &lt;input type="text"&gt; 中获得 selectedCountry。

【问题讨论】:

  • 似乎在这个 JSFiddle 中运行良好。你确定selectedCountry 属性是正确的吗?另外,您能否提供一个 JSFiddle/修改我的以实际查看问题?
  • 我无法让它在 JSFiddle 中工作...太多的周围代码。但问题是我已经处于循环中(参见第二个代码 sn-p 中的 )。因此,我没有在示例中引用与您在同一级别上的 selectedValue。我正在尝试在循环访问的“用户”中访问它。这适用于其他元素。我将更新我的问题以包含一个小示例。

标签: javascript knockout.js


【解决方案1】:

噢噢噢噢,我太笨了。

&lt;option data-bind="text: label"&gt;&lt;/option&gt;

&lt;option data-bind="text: label, value: label"&gt;&lt;/option&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多