div、span、select、およびその他の要素の複数の ID、クラス、および名前を変更する必要があります。
次のように、テーブルにある最後の行からhtmlを複製します
var num = $('.clonedLighting').length; // num of current rows
var newNum = new Number(num + 1); // the numeric ID of the new input field being added
// create the new element via clone(), and manipulate it's ID using newNum value
var newElem = $('#inputlighting' + num).clone().prop('id', 'inputlighting' + newNum);
次に、次のステップで、複製された ID を次のように変更します
newElem.children('td').children('label.prod_item').prop('for', 'appliancetextfield' + newNum);
newElem.children('td').children('select.prod_item').prop('id', 'appliancetextfield' + newNum).prop('name', 'appliancetextfield' + newNum).prop('value', '');
これは正常に動作しています。ただし、appliancetextfield セクションにはさらに多くの要素が含まれるようになりました。を含むすべての名前、クラス、および ID を置き換えたい
'appliancetextfield'+num
と
'appliancetextfield'+newNum
すべての要素に対してそれを行う代わりに。これは可能ですか?どうやって?
明確にするために:ID、クラス、または名前は次のようになります
appliancetextfield4
appliancetextfield4_title
appliancetextfield4_titleText
appliancetextfield4_msdd
に変わるはずです
appliancetextfield5
appliancetextfield5_title
appliancetextfield5_titleText
appliancetextfield5_msdd
この時点では、数字は 1 桁にしかならないように見えますが、10 日以上になる必要があるかもしれません。ご意見ありがとうございます。
編集:以下の提案と多くのグーグルを実装しようとしています:私は今持っています:
var num = $('.clonedLighting').length; // current rows
var newNum = new Number(num + 1);
$('#inputlighting' + num).clone().prop('id', function(index, id) {
return id.replace(/(appliance.*)\d\d?(.*)/g, "$1" + newNum + "$2");
}).insertAfter($('#inputlighting' + num));
正しいトラックのように見えますが、正規表現や後方参照が機能しません。