gpt4 book ai didi

jquery - 将元素添加到 jQuery 数组

转载 作者:行者123 更新时间:2023-12-01 05:54:02 25 4
gpt4 key购买 nike

我有一个 jquery 函数,可以循环访问一些输入控件

function updateInputStatus($el) { 
// Declare an error array that will contain jquery selectors
$el.each(function () {
if (this.Validators) {
var isValid = true;

for (var i = 0; i < this.Validators.length; i++) {
var val = this.Validators[i];

if (!val.isvalid) {
// Add this element to error array -> $(this).closest('.input-control')
isValid = false;
break;
}
}

$(this)
.closest('.input-wrapper')
.toggleClass('input-ok', isValid)
.toggleClass('input-error', !isValid);
}
})

// Do something with error array outside of loop
}

一切都很好,但是我还需要找到每个 $el 的父级并检查是否有任何 $el 无效 - 如果有 1 个或多个,我将添加其他类,否则删除任何现有类。在检查整个循环之前我无法执行此操作。

我已经评论了需要添加代码的区域,但我正在努力使其正确。

有什么想法吗?

最佳答案

所以我想你可以添加一个错误数组并将错误元素插入其中。然后在最后的每个循环中对它们进行处理。请记住,当您使用它们时,它们将是 jquery 对象。

所以像这样:

function updateInputStatus($el) { 
// Declare an error array that will contain jquery selectors
var errors = [];
$el.each(function () {
if (this.Validators) {
var isValid = true;

for (var i = 0; i < this.Validators.length; i++) {
var val = this.Validators[i];

if (!val.isvalid) {
var close_thing = $(this).closest('.input-control');
if(!close_thing.hasClass('used_for_error'))
{
errors.push(close_thing);
close_thing.addClass('used_for_error');
}

isValid = false;
break;
}
}

$(this)
.closest('.input-wrapper')
.toggleClass('input-ok', isValid)
.toggleClass('input-error', !isValid);
}
})

// Do something with error array outside of loop
$.each(errors, function(key, value){
//*do stuff with elements in error array*
});
}

关于jquery - 将元素添加到 jQuery 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18019709/

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