2011-10-11 24 views
1

简单的问题,我想不通。我想创建一个JavaScript数组的输入值,但无法弄清楚简单的代码。制作多个输入字段值的javaScript/jQuery数组

这里的HTML:

<input class="email" value="[email protected]"></input> 
<input class="email" value="[email protected]"></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= ["[email protected]", "[email protected]"]; 

不知道我的valuesArr函数出了什么问题,任何基于JS和/或jQuery的解决方案都是gr不胜感激!

+1

似乎是工作给我,除非我误解了这个问题。这里有一个小提琴显示它输出创建的'emailArr':http://jsfiddle.net/BRtDY/1/ – Pat

+0

嗨,帕特,你是对的,它确实工作,我没有在我的测试doc.ready功能,令人沮丧!感谢您的帮助,最良好的祝愿,-tim –

+0

很高兴听到 - 您应该回答您的问题,然后接受它。它会帮助任何其他人陷入类似的问题。 – Pat

回答

0

原来的脚本是正确的,帕特说。问题在于如何调用脚本。如果你这样做的以下任一原脚本将工作:

  1. 确保原始脚本是在你的HTML文件
  2. 标签在一个jQuery的document.ready函数封装下面的脚本,即$ (function(){ - $。each function() - });

由于双方帕特和冷告诫,他们的帮助,

1

这应该获得它所评估的类电子邮件的所有元素,然后将其分配给电子邮件数组。

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

嗨COLD TOLD,感谢您的帮助,我遵循帕特的小提琴上面并理解了它,问题很简单,我没有doc.ready $(function(){};围绕我的valuesArr函数,我'现在所有人都设置了,谢谢,-tim –