1

jquery を使用して div を複製していますが、div には 3 つの入力フィールドがあります。clone は要素の id と name を変更しないので、要素を見つけて変更しています。これを要素ごとに行います。コードは次のとおりです。

var idCounter = 1;
  var noOfClonedItems = 0;
  $('.container').on('click', '#add-new-sku', function(e){
    e.preventDefault();

    var clonedItem = $('.sku-data:first').clone();

    clonedItem.find('#product_skus_attributes_0_price').attr('name','product[skus_attributes][' + idCounter + '][price]').val('0.0');
    clonedItem.find('#product_skus_attributes_0_price').attr('id','product[skus_attributes][' + idCounter + '][price]');

    clonedItem.find('#product_skus_attributes_0_units_in_stock').attr('name','product[skus_attributes][' + idCounter + '][units_in_stock]').val('0');
    clonedItem.find('#product_skus_attributes_0_units_in_stock').attr('id','product[skus_attributes][' + idCounter + '][units_in_stock]');

    clonedItem.find('#product_skus_attributes_0_units_sold').attr('name','product[skus_attributes][' + idCounter + '][units_sold]').val('0');
    clonedItem.find('#product_skus_attributes_0_units_sold').attr('id','product[skus_attributes][' + idCounter + '][units_sold]');

    clonedItem.appendTo('.sku-container');
    idCounter++;
    noOfClonedItems++;
  });

しかし、私はこの手法を最適化しようとしていますが、100 個の要素がある場合はどうなるでしょうか?

このコードを最適化して、任意の要素に対して機能する方法を考えています。

4

2 に答える 2