jQuery get values from inputs and create an array

input, javascript, jquery, key-value

Solution

You can use `.each()` to iterate over the elements and add the names and values to a map (a plain object) like this:

var map = {};
$(".activeInput").each(function() {
    map[$(this).attr("name")] = $(this).val();
});

alert(map.key1); // "red"

See it in action.

Problem

I have many inputs on a page. I want to create an associative array with each input's name and value using jQuery. I've tried: ``` <input class="activeInput" type="text" name="key1" value="red"> <input class="activeInput" type="text" name="key3" value="France"> inputValues = $('.activeInput').val(); ``` EDIT - Thanks to the insightful comments, it seems maybe creating an object is a better way to go. Any suggestions on how to create an object instead?

Original source

Related problems