Gå til innhold

Slette rader - Django(python)/Javascript


Anbefalte innlegg

Hei!

 

Bygger for tiden en app i django som tar i mot flere filer. For å få et dynamisk filopplastningsfelt med flere rader, har jeg stjålet kode herfra:

 

http://stackoverflow.com/questions/501719/dynamically-adding-a-form-to-a-django-formset-with-ajax

 

Javascript koden ser slik ut:

function cloneMore(selector, type) {
    var newElement = $(selector).clone(true);
    var total = $('#id_' + type + '-TOTAL_FORMS').val();
    newElement.find(':input').each(function() {
        var name = $(this).attr('name').replace('-' + (total-1) + '-','-' + total + '-');
        var id = 'id_' + name;
        $(this).attr({'name': name, 'id': id}).val('').removeAttr('checked');
    });
    newElement.find('label').each(function() {
        var newFor = $(this).attr('for').replace('-' + (total-1) + '-','-' + total + '-');
        $(this).attr('for', newFor);
    });
    total++;
    $('#id_' + type + '-TOTAL_FORMS').val(total);
    $(selector).after(newElement);
}

Template koden:

		<form action="" method="post" enctype="multipart/form-data">
			{{ formsetFile.management_form }}
			{% for form in formsetFile.forms %}
			<div class='table'>
			<table class='no_error'>		
			{% csrf_token %}
			{{ formsetFile.as_p }}
			</table>
			</div>
			{% endfor %}
			<input type="button" value="Add More" id="add_more">
			{% csrf_token %}
			{{ formURL.as_p }}
			<p><input type="submit" value="Upload" /></p>
			<script>
				var maxRows = 10;
				var i = 1;
				$('#add_more').click(function() {
					if(i < maxRows) {
					cloneMore('div.table:last', 'service' + i++);
					}
					else {
						alert('You can only upload 10 files per instance')
						}
				})

Det jeg trenger her, er også en knapp til å slette radene. Problemet er at jeg er latterlig dårlig i Javascript og finner derfor ingen løsning på problemet. All hjelp ville blitt satt pris på.

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...