Estoy tratando de hacer un bucle sobre todas las etiquetas con el mismo nombre de className y obtener su valor:
var quantity = []; $(".add_more_items").each(function(){ quantity.push($(this).val()); });este es un resultado, por ejemplo:
['1', '9', '1']pero mi problema es que estoy tratando de establecer el valor de esta matriz en otra entrada con la misma clase:
$.each(quantity, function(index, val){ $(".items_final").val(val); });pero siempre establezca en todas las entradas el último valor de mi matriz, no sé qué estoy haciendo mal.
Use un índice asumiendo que hay un mapeo 1 a 1 entre los campos
const $final = $(".items_final"); $(".add_more_items").each(function(i, item) { $final[i].value = item.value; // or $final.eq(i).val(item.value) }); const $final = $(".items_final"); $(".add_more_items").each(function(i, item) { $final[i].value = item.value; // or $final.eq(i).val(item.value) }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <h3>Add more</h3> <input type="text" value="1" class="add_more_items" /> <input type="text" value="2" class="add_more_items" /> <input type="text" value="3" class="add_more_items" /> <input type="text" value="4" class="add_more_items" /> <hr/> <h3>final</h3> <input type="text" value="" class="items_final" /> <input type="text" value="" class="items_final" /> <input type="text" value="" class="items_final" /> <input type="text" value="" class="items_final" />También esto es útil:
const quantity = $(".add_more_items").map(function(){ return this.value; // or $(this).val() }).get();