Сделать массив javaScript / jQuery из нескольких значений поля ввода - PullRequest
1 голос
/ 11 октября 2011

Простой вопрос, который я не могу понять. Я хотел бы создать массив входных значений 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 ]

1 голос
/ 11 октября 2011

Это должно получить все элементы класса email его значения и затем присвоить его массиву email

$("action").click(function () {
    var emails=new Array();
    var j=0;
    $(".email").each(function(){
        emails[j]=$(this).val();
        j++;
    });
});
0 голосов
/ 11 октября 2011

Оригинальный сценарий был правильным, как сказал Пэт.Проблема была в том, как был назван скрипт.Исходный скрипт будет работать, если вы выполните одно из следующих действий:

  1. , убедившись, что оригинальный скрипт находится ниже тегов в вашем HTML-файле
  2. , инкапсулируя скрипт в документе jQuery.готовая функция, т. е. $ (function () {- $. each function () -});

Спасибо Пату и COLD TOLD за помощь,

...