için klonlama form öğelerini ve etiketleri değiştirme Sorunum var - HTML formunun bir bölümünü klonlamak istiyorum ancak etiketin for
özniteliğini nasıl değiştirebilirim bilmiyorum. BöylejQuery -
kullanıyorum kodu:
<script>
$('#add-service').click(function() {
$('.services div.service:last').clone(true)
.find(':input').each(function() {
this.name = this.name.replace(/\[(\d+)\]/, function (str, p1) {
return '[' + (parseInt(p1, 10) + 1) + ']';
})
this.id = this.name
}).end().find('label').each(function() {
$(this).css('background-color','red');
$(this).attr('for', function (index, old) {
old.replace(/\[(\d+)\]/, function (str, p1) {
return '[' + (parseInt(p1, 10) + 1) + ']';
});
})
}).end().insertAfter('.services div.service:last');
});
</script>
ama label
için for
nitelik güncellenmiş değil (ama background-color
olan)
Sorular:
- nasıl yukarıdaki kodu güncellemek için Ayrıca
- güncellenecektir etiket için
for
mümkün Haklısınız ona sahip
'for' özniteliği hakkında değiştirmeye çalıştığınız şeyi biraz daha iyi açıklamak zorundasınız. Sadece endeks ya da endeks ve isim? – Adjit
@Adjit Orijinal 'for' is' hizmetler [0] [isim] ', 1. eklenecek satırlar için' hizmetler [1] [isim] ', ikinci için eklenen hizmetler [2] [ad]' satır ve benzeri –
Reagrding question # 2, kodunuzun yeterince kısa olduğunu düşünüyorum. Daha kısa yapmayı denemeye çalışmak aşırı derecede zor olabilir ve bunu anlamak gerçekten zor olabilir (eğer mümkünse emin de değil). –