gpt4 book ai didi

javascript - each() 函数在 JQuery 中跳过并且对数组不执行任何操作

转载 作者:行者123 更新时间:2023-11-30 12:23:50 32 4
gpt4 key购买 nike

我编写这段代码来迭代 Reshte 数组的每个元素,但它会跳过所有元素,并且它的内容永远不会运行

Reshte = $('.seeker_register select[name="Reshte[]"]').toArray();
Gerayesh = $('.seeker_register select[name="Gerayesh[]"]').toArray();
Moadel = $('.seeker_register select[name="Moadel[]"]').toArray();

// Reshte.each(function(index, el) {
Reshte.each(function(index, el) {
if ($(Reshte[index].val() )){
review_page += 'Diplom: '+
$(Reshte[index]).val()+ ' '+
$(Gerayesh[index]).val()+ ' Moadel:'+
$(Moadel[index]).val();
};
});

Reshte 数组不为空。就是这样:

Reshte =
Array [ <select#Reshte.form-control>, <select#Reshte.form-control>, <select#Reshte.form-control>, <select#Reshte.form-control>, <select#Reshte.form-control> ]

最佳答案

您不需要将它们作为数组使用,它们已经按原样存储并且 jQuery 为您提供了一个很好的 each() 方法来遍历它们和一个 eq()通过数组索引访问它们的方法。 each() 不存在于数组中它只起作用是因为它继承了 jQuery 自己的 each 方法。

此外,您的 if 条件 $(Reshte[index].val() ) 中也存在错误。 Reshte[index] 不会将 val() 作为原生 DOMElement。即使它这样做了,当元素是您要传递的元素时,它也会获取该值并将其传递给 $() 并对其调用 val()

Reshte = $('.seeker_register select[name="Reshte[]"]');
Gerayesh = $('.seeker_register select[name="Gerayesh[]"]');
Moadel = $('.seeker_register select[name="Moadel[]"]');

Reshte.each(function(index) {
if ($(this).val()){ // bug fix here
review_page += 'Diplom: '+
$(this).val() + ' '+
Gerayesh.eq(index).val() + ' Moadel:'+
Moadel.eq(index).val();
};
});

关于javascript - each() 函数在 JQuery 中跳过并且对数组不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30151762/

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