2011-10-11 25 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 –