在Javascript过滤器函数中使用if-else

在Javascript过滤器函数中使用if-else,javascript,jquery,filter,html-table,Javascript,Jquery,Filter,Html Table,我有这把小提琴。我想在filter函数中使用if-else。我有一个可以工作,但循环似乎没有中断。因为它不会中断,所以针对所有未过滤的条件打印else部分。如何打破这个循环?还有更好的办法吗 我有两个文本框和一个按钮,当我输入标题和数量并点击add时,我想检查它是否已经存在于表中。如果存在,我想将数量替换为新值。如果它不存在,我想添加带有新标题和数量的新行。检查存在对我来说是个谜,根本不起作用。 $('#btnAdd').click(function () { debugger;

我有这把小提琴。我想在filter函数中使用if-else。我有一个可以工作,但循环似乎没有中断。因为它不会中断,所以针对所有未过滤的条件打印else部分。如何打破这个循环?还有更好的办法吗

我有两个文本框和一个按钮,当我输入标题和数量并点击add时,我想检查它是否已经存在于表中。如果存在,我想将数量替换为新值。如果它不存在,我想添加带有新标题和数量的新行。检查存在对我来说是个谜,根本不起作用。

$('#btnAdd').click(function () {
        debugger;
        UOMCaption = $('#UOMCaption').val();
        UOMQty = $('#UOMQuantity').val();

        $("#tbluom tr td:first-child").filter(function () {
            if ($(this).text().indexOf(UOMCaption) > -1) {
                $(this).next("td").text("found it");
            }
            else {
                $('#tbluom >tbody').append('<tr><td>' + UOMCaption + '</td><td>' + UOMQty + '</td></tr>');
            }
        });
        $('#UOMCaption,#UOMQuantity').val("");
    });
$('#btnAdd')。单击(函数(){
调试器;
uomoption=$('#uomoption').val();
UOMQty=$('UOMQuantity').val();
$(“#tbluom tr td:first child”).filter(函数(){
if($(this).text().indexOf(uomoption)>-1){
$(this.next(“td”).text(“find it”);
}
否则{
$('#tbloom>tbody')。追加(''+uomoption+''+UOMQty+'');
}
});
$(“#uomcOption,#UOMQuantity').val(“”);
});

如果您希望循环在第一次匹配后中断,请使用

$("#tbluom tr td:first-child").each(function () {
    if ($(this).text().indexOf(UOMCaption) > -1) {
        $(this).next("td").text("found it");
        return false;
    } else {
        $('#tbluom >tbody').append('<tr><td>' + UOMCaption + '</td><td>' + UOMQty + '</td></tr>');
    }
});
$(“#tbloom tr td:first child”)。每个(函数(){
if($(this).text().indexOf(uomoption)>-1){
$(this.next(“td”).text(“find it”);
返回false;
}否则{
$('#tbloom>tbody')。追加(''+uomoption+''+UOMQty+'');
}
});

那么您想在找到第一个元素时中断吗?您的小提琴与提供的代码不匹配,为什么?如果您想在找到第一个元素后返回,请在if块中添加一个return语句。这是一种猜测,但这是您想要的吗?是的,如果我找到第一个元素,我想打破循环。即使我找不到循环,我也只想做一次其他部分。当前,else部分的打印次数与未通过筛选条件的行数相同。返回false不处理else部分,如果表中已存在三行,则新记录将被追加三倍。@codebrain使用
每个
而不是
过滤器时,它应该可以工作。这一行几乎可以工作,但当我添加相同的UomOption if无法检查时。。出现问题。