Aquí es lo que tengo¿Cómo crear propiedades de objeto JavaScript dinámicamente con nombre?
<form>
<input type="text" name="item1" class="grab" value="userInput" />
<input type="text" name="somethingelse1" class="grab" value="differentUserInput" />
... (any number of inputs)
</form>
usando jQuery/Javascript Quiero construir una matriz de objetos con pares de nombre y valor que tiene este aspecto:
output = [ {item1: userInput}, {somethingelse1: differentUserInput} ... etc.];
He intentado esto sin éxito:
var output = new Array();
$('.grab').each(function(index) {
output.push({$(this).attr('name'): $(this).val()});
});
He intentado varias variaciones, incluida la experimentación con eval(), pero fue en vano. Si elimino $ (this) .attr ('name'), y le doy un nombre estático, funciona ... entonces, ¿cómo puedo crear objetos dinámicamente con nombre?
Gracias, eso funcionó. Gracias por la respuesta rápida y la buena información. – user988300
@pst - ¡bonito, gracias! aprendí algo nuevo ... – xgencoder
gracias por la gran utilidad :) – ProllyGeek