jquery JavaScript没有在正确的时刻显示正确的消息

7rtdyuoh  于 5个月前  发布在  jQuery
关注(0)|答案(1)|浏览(67)

我写了一段代码来处理我应该得到的消息类型,我正在循环表的所有trs并找到匹配的条件:如果所有行都有data-mode=“success”和data-pure=“yes”,这意味着代码是正确的,它是成功的:如果任何行具有data-mode =“success”和data-pure=“no”,则表示警告,如果任何行具有data-mode=“error”,这意味着它是一个错误,消息是危险的,我有下面的代码,但它总是返回我1,如果有第三个条件,

function checkTableData() {
                var allTables = $('#tableBody');
                var highestValue = -1;
                for (var i = 0; i < allTables.length; i++) {
                    var table = allTables[i];
                    var trs = $(table).find('tr');
                    for (var j = 0; j < trs.length; j++) {
                        var tr = trs[j];
                        var dataSuccess = $(tr).attr('data-mode');
                        var dataPure = $(tr).attr('data-pure');
                        console.log(highestValue);
                        if (dataSuccess === 'success' && dataPure === 'yes' && highestValue < 0) {
                            highestValue = 0;
                            console.log('0');
                        } else if (dataSuccess === 'success' && dataPure === 'no' && highestValue < 1) {
                            highestValue = 1;
                            console.log('1');
                        } else if (dataSuccess === 'error') {
                            console.log('2');
                            errorCount++;
                            if (errorCount >= 1) {
                                console.log('more than 2');
                                return 2;
                            }
                        }
                    }
                }
                return highestValue;
            }

字符串
我需要一些指导,谢谢。

lxkprmvk

lxkprmvk1#

你可以试试filter()方法:

function checkTableData() {
    let dataSuccess = $('#tableBody tr').filter((index, element)=>
        $(element).attr('data-mode') == 'error').length == 0;
    let dataPure = $('#tableBody tr').filter((index, element)=>
        $(element).attr('data-pure') == 'no').length == 0;

    if (dataSuccess && dataPure) return 'Correct'
    if (dataSuccess && !dataPure) return 'Warning'
    if (!dataSuccess) return 'Error'
}

字符串

相关问题