获取具有相同类的多个输入字段的值并添加到javascript对象中

Bac*_*ice 3 html javascript jquery html5

我面临的问题如下:

<input title="1" type="text" class="email">
<input title="2" type="text" class="email">
<input title="3" type="text" class="email">
Run Code Online (Sandbox Code Playgroud)

上面是我的html,我试图抓取每个输入框的电子邮件并将其存储在标题为关键字的对象中.

这是我的JavaScript目前的样子

var emailObj = {};
$("input[class=email]").each(function() {

    var id = $(this).attr("title");
    var email = $(this).val()

    emailObj[id] = email;
});
Run Code Online (Sandbox Code Playgroud)

目前console.log仅显示添加到对象的最后一个值,如下所示.

Object { 3="a@a.com"}
Run Code Online (Sandbox Code Playgroud)

我的预期结果如下所示

Object { 1="a@a.com", 2="b@b.com", 3="c@c.com"}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

谢谢你的阅读,问候.

Exc*_*ion 8

这里是您的代码没有问题.我建议你把它写成实用方法

function getValues(selector){
  var tempValues = {};
  $(selector).each(function(){
     var th= $(this);
     tempValues[th.attr('title')] = th.val();
   });
  return tempValues;
}

var values = getValues('.email');
Run Code Online (Sandbox Code Playgroud)

或者如果要将值放入数组中

$('.email').map( function(){return $(this).val(); }).get();
Run Code Online (Sandbox Code Playgroud)

.get() 将它转换为常规数组.

你写的代码绝对正确.但是当我加载它时,它返回null,因为在执行时,文本框中没有值.