生成多个输入字段值的javaScript / jQuery数组

时间:2011-10-11 02:41:43

标签: javascript jquery arrays for-loop push

简单的问题,我无法弄清楚。我想创建一个JavaScript数组的输入值,但无法弄清楚简单的代码。

这是HTML:

<input class="email" value="joe@smith.com"></input>
<input class="email" value="bob@jones.com"></input>

这是尝试创建数组的尚未正确的JS / jQuery:

$.fn.valuesArr = function()
  {
    var a = [];
    $.each(this, function(i, field){
        a.push(field.value);
    });
    return a;
  } 

var emailArr=$('.email').valuesArr();

最终,这就是我想要的emailArr:

emailArr= ["joe@smith.com", "bob@jones.com"];

不确定我的valuesArr函数有什么问题,任何基于JS和/或jQuery的解决方案都会非常感激!

2 个答案:

答案 0 :(得分:1)

这应该将类的所有元素发送给它值,然后将其分配给电子邮件数组。

$("action").click(function () {
    var emails=new Array();
    var j=0;
    $(".email").each(function(){
        emails[j]=$(this).val();
        j++;
    });
});

答案 1 :(得分:0)

帕特说,原始剧本是正确的。问题在于如何调用脚本。如果您执行以下任一操作,原始脚本将起作用:

  1. 确保原始脚本位于HTML文件中的代码下方
  2. 将脚本封装在jQuery document.ready函数中,即$(function(){ - $。each functions() - });
  3. 感谢Pat和COLD TOLD的帮助,