gpt4 book ai didi

javascript - 不确定复选框的 Knockout 自定义绑定(bind)将不起作用

转载 作者:行者123 更新时间:2023-11-30 06:58:30 25 4
gpt4 key购买 nike

简而言之:这是我用于将复选框置于不确定状态的 knockout 自定义绑定(bind)。

ko.bindingHandlers.nullableChecked = {
update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
if (value == null) element.indeterminate = true;
ko.bindingHandlers.checked.update(element, function () { return value; });
}
};

如果初始值为 null,一切正常,复选框处于不确定状态,但是当我单击该复选框时,它似乎没有相应地将绑定(bind)属性的值更新为 false/true。我错过了什么吗?

最佳答案

如果有人在这里希望在没有选中所有子项的情况下将全选类型复选框显示为中间值,则可以使用像这样的简单绑定(bind)

ko.bindingHandlers.indeterminateValue = {
update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
element.indeterminate = value;
}
};

然后你就可以这样使用了

 <input type="checkbox" data-bind="checked: selectedAllProduce, indeterminateValue: selectedProduce().length > 0 && selectedProduce().length < produce.length" title="Select all/none"/>

这是一个 fiddle ,展示了它在计算的可观察性选择所有示例上的工作 https://jsfiddle.net/deannorth/crqwac12/

关于javascript - 不确定复选框的 Knockout 自定义绑定(bind)将不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15636831/

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