gpt4 book ai didi

javascript - 在一个数据绑定(bind)中应用 knockout if 和选项绑定(bind)在一起

转载 作者:行者123 更新时间:2023-12-04 00:53:39 25 4
gpt4 key购买 nike

我正在尝试将 if 语句移动到数据绑定(bind)中,但我遇到了一个错误说明:

Multiple bindings (if and options) are trying to control descendant bindings of the same element.

我想做的是控制下拉列表的可见性,使其不会根据 if 语句条件出现。我尝试使用可见绑定(bind),但它只删除了下拉元素而不是实际的下拉列表。

这就是我目前正在尝试的:

<select id="IdField" name="Id" data-placeholder="Select an item" data-bind="if: items().length > 0, options: items(), optionsText: 'Name', optionsValue: 'Id', value: DdlSelectedValue, event: { change: selectChanged }">
</select>

这是我的原始代码:

 <!-- ko if: items().length > 0 -->
<select id="IdField" name="Id" data-placeholder="Select an item" data-bind="options: items(), optionsText: 'Name', optionsValue: 'Id', value: DdlSelectedValue, event: { change: selectChanged }">
</select>
<!--/ko-->

有没有办法将 if 语句移动到带有选项的数据绑定(bind)中?

最佳答案

items().length 为零时,如果您希望 select 实际上不存在于页面中,那么您所拥有的是正确的方法。

或者,您可以使用 visible,这当然略有不同(当 items().length 为 0 时,select 将在那里,它只会被隐藏):

<select id="IdField" name="Id" data-placeholder="Select an item" data-bind="visible: items().length > 0, options: items(), optionsText: 'Name', optionsValue: 'Id', value: DdlSelectedValue, event: { change: selectChanged }">
</select>

关于javascript - 在一个数据绑定(bind)中应用 knockout if 和选项绑定(bind)在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25726309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com