Ich habe ein Problem - Ich möchte einen Teil des HTML-Formulars klonen, aber ich habe keine Ahnung, wie kann ich Etikett for
Attribut ändern.jQuery - klonen Formularelemente und ändern Sie Etiketten für
Ich verwende Code wie folgt:
<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>
aber for
Attribut für label
nicht aktualisiert wird (aber background-color
ist)
Fragen:
- Wie um den obigen Code zu aktualisieren
for
für Label auch - Ist es möglich, neu zu schreiben, diesen Code aktualisiert werden sie kürzer
Ich muss etwas besser erklären, was Sie über das 'for' Attribut zu ändern versuchen. Nur der Index oder der Index und der Name? – Adjit
@Adjit Original 'for' ist' services [0] [name] ', ich möchte es' services [1] [name] 'für die erste Zeile,' services [2] [name] 'für die 2. Zeile haben Zeile und so weiter –
Reagrding Frage # 2, ich denke, dass Ihr Code kurz genug ist. Der Versuch, es kürzer zu machen, wäre übertrieben und könnte es wirklich schwer verständlich machen (auch nicht sicher, wenn möglich). –