gpt4 book ai didi

javascript - 使用 ko.observableArray 检查重复项

转载 作者:行者123 更新时间:2023-11-30 07:05:48 24 4
gpt4 key购买 nike

如何在添加之前检查重复的签名。在下面的场景中,如果没有找到列表中的签名,我想添加签名。

    var Signature = function (name, interestDeclared) {
this.Name = ko.observable(name);
this.RelevantInterest = ko.observable(interestDeclared);
}

viewModel = {

signatures: ko.observableArray([]),

addSignature: function () {
var name = $('#signatureName').val();
var intd = $('#interest').is(':checked');

this.signatures.push(new Signature(name, intd));

},
deleteSignature: function (signature) {
this.signatures.remove(signature);
},

insertWitness: function (signature, position) {
this.signatures.splice(position, 0, signature);
}
};

ko.applyBindings(viewModel, document.getElementById("signatories"));

谢谢,-那仁

最佳答案

您还可以使用 KO 框架中的一些内置实用函数。我过去用这种技术解决了这个问题:

var name = $('#signatureName').val(),
intd = $('#interest').is(':checked'),
match = ko.utils.arrayFirst(this.signatures(), function (item) {
if (item.Name() === name) {
return selectedCounsel;
}
});

if (!match) {
// This means it wasn't already in our array, so we'll add it.
this.signatures.push(new Signature(name, intd));
}

我也同意@madcapnmckay,不要使用 jQuery 从输入中查找值,更新您的模型,以便 signatureNameinterest 绑定(bind)到您的模型并且使用这些值。

关于javascript - 使用 ko.observableArray 检查重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9893435/

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