Home > Software engineering >  How to replace each value that is already stored in a array JQUERY
How to replace each value that is already stored in a array JQUERY

Time:03-19

May I know how I can replace each DOM value that is already stored in an Array?

$(document).ready(function() {
  $(".compare-filter-item").click(function() {
    var column_value = $(this).attr("data-column");
    var selected_data_product = $(this).attr("data-product");

    var myarray = [];

    $(".compare-all .compare-products [data-product='"   selected_data_product   "']").each(function(index, value) {
      var value = $(this).html();
      myarray[index] = value;
    });

    $(".compare-main .compare-products [data-column='"   column_value   "']").each(function(index, value) {
      // I WANT TO REPLACE EACH OF THE VALUE HERE WITH THE ONES STORED IN ARRAY
    });

  });
});

CodePudding user response:

Like this

$(function() {
  $(".compare-filter-item").on("click",function() {
    const column_value = $(this).attr("data-column");
    const selected_data_product = $(this).attr("data-product");

    const myarray = $(`.compare-all .compare-products [data-product="${selected_data_product}"]`).map(function() {
      return $(this).html();
    });

    $(`.compare-main .compare-products [data-column="${column_value}"]`)
     .each(function(i) { $(this).html(myarray[i]) });
  });
});

or even this if there is one to one relationship

$(function() {
  $(".compare-filter-item").on("click",function() {
    const column_value = $(this).attr("data-column");
    const selected_data_product = $(this).attr("data-product");
    const $myarray = $(`.compare-all .compare-products [data-product="${selected_data_product}"]`);

    $(`.compare-main .compare-products [data-column="${column_value}"]`)
      .each(function(i) { $(this).html(myarray[i].html()) });
  });
});
  • Related