Javascript foreach只产生一个结果

Javascript foreach只产生一个结果,javascript,jquery,html,Javascript,Jquery,Html,我有三个电子邮件文本框,其中有三个不同的值。但它产生了同样的结果。我有这个: $('.contactpersonen-email').each(function() { var mails = $('.contactpersonen-email').map(function(){ return $(this).val(); }).get(); console.log(mails); }); 以及HTML: &l

我有三个电子邮件文本框,其中有三个不同的值。但它产生了同样的结果。我有这个:

$('.contactpersonen-email').each(function() {
    var mails = $('.contactpersonen-email').map(function(){                 
        return $(this).val();   
    }).get(); 
    console.log(mails); 
});
以及HTML:

<div class="contact-label span2">
    <label for="contactpersonen-email">Email adres</label>
    <div class="contact-input-field">
        <input type="text" class="input-text span2  contactpersonen-email" id="contactpersonen-email0" name="contactpersonen-email"></input>
    </div>
</div>

您可能需要尝试以下操作:

var mails = [];
$('.contactpersonen-email').each(function() {
    mails.push($(this).val());
});
console.log(mails); 

您可能需要尝试以下操作:

var mails = [];
$('.contactpersonen-email').each(function() {
    mails.push($(this).val());
});
console.log(mails); 

您不需要外部
每个
map()

只需使用:

var mails=$('.contactpersonen email').map(函数(){
返回$(this.val();
}).get();
控制台日志(邮件)

您不需要外部的
每个
map()

只需使用:

var mails=$('.contactpersonen email').map(函数(){
返回$(this.val();
}).get();
控制台日志(邮件)



根据html,您只有一个邮箱。为什么需要
.get()map()
之后的最后一句话中的code>?是的,这是正确的。因为它是手风琴手。因此,每次添加联系人时,都会有一个电子邮件地址文本框。但是,我尝试生成唯一的类名,那么您需要附加到创建的手风琴数据元素,而不是输入框。@MarcosPérezGude,因为
$(选择器)。map()
返回jQuery对象,要从中获取数组,您在html中使用
get()
,您只有一个邮箱。为什么需要
.get()map()
之后的最后一句话中的code>?是的,这是正确的。因为它是手风琴手。因此,每次添加联系人时,都会有一个电子邮件地址文本框。但是我尝试生成唯一的类名,那么您需要附加到创建的一致数据元素,而不是输入框。@MarcosPérezGude,因为
$(选择器).map()
返回jQuery对象,并从中获取数组,您使用
get()
谢谢。但我仍然只能从第一个电子邮件文本框得到两倍相同的值:hh。因为在第二个电子邮件文本框中,我有:jj。但它显示:[“hh”]klant worden:656[“hh”]是的,请发布更多代码,以便我们可以帮助您。根据你的问题,我假设你有几个
输入
字段,其中包含
联系人电子邮件
谢谢。但我仍然只能从第一个电子邮件文本框得到两倍相同的值:hh。因为在第二个电子邮件文本框中,我有:jj。但它显示:[“hh”]klant worden:656[“hh”]是的,请发布更多代码,以便我们可以帮助您。根据你的问题,我假设你有几个
输入
字段,其中类
联系人电子邮件
是的,我有。但这会产生两倍的相同结果,但事实并非如此。运行代码段时,请在控制台中查看。您得到了两次,因为在
each
I中对contacts$(“#accordion.user row”)的所有输入字段进行了://循环。每个(函数(uindex,uvalue){但它仍然只显示一个值。那么我做错了什么?我在每个Thank you之外也这么做也许类是不同的。在没有看到正确的html usedYes的情况下很难提供帮助,我有这个。但这会产生两倍相同的结果,但事实并非如此。运行代码段时,请在控制台中查看。由于在
每个
我都在下面://Loop下遍历联系人$('#accordion.user row')的所有输入字段。每个(函数(uindex,uvalue){但它仍然只显示一个值。那么我做错了什么?我在每个Thank You之外也这样做可能类不同。如果没有看到正确的html使用,很难提供帮助
var mails = [];
$('.contactpersonen-email').each(function() {
    mails.push($(this).val());
});
console.log(mails);