From 76568a708aff53078bdb52ff3c79cc68ce2ae4db Mon Sep 17 00:00:00 2001 From: Sanj Date: Thu, 19 Jul 2012 18:45:57 +0530 Subject: [PATCH] added formset lib --- itf/static/js/jquery.formset.min.js | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 itf/static/js/jquery.formset.min.js diff --git a/itf/static/js/jquery.formset.min.js b/itf/static/js/jquery.formset.min.js new file mode 100644 index 0000000..dfb37b7 --- /dev/null +++ b/itf/static/js/jquery.formset.min.js @@ -0,0 +1,10 @@ +(function($){$.fn.formset=function(opts) +{var options=$.extend({},$.fn.formset.defaults,opts);var updateElementIndex=function(el,prefix,ndx){var id_regex=new RegExp('('+prefix+'-\\d+)');var replacement=prefix+'-'+ndx;if($(el).attr("for"))$(el).attr("for",$(el).attr("for").replace(id_regex,replacement));if(el.id)el.id=el.id.replace(id_regex,replacement);if(el.name)el.name=el.name.replace(id_regex,replacement);};$(this).each(function(i){$(this).addClass(options.formCssClass);if($(this).is('TR')){$(this).children(':last').append(''+options.deleteText+'');}else if($(this).is('UL')||$(this).is('OL')){$(this).append('
  • '+options.deleteText+'
  • ');}else{$(this).append(''+options.deleteText+'');} +$(this).find('a.'+options.deleteCssClass).click(function(){var row=$(this).parents('.'+options.formCssClass);row.remove();if(options.removed)options.removed(row);var forms=$('.'+options.formCssClass);$('#id_'+options.prefix+'-TOTAL_FORMS').val(forms.length);if(forms.length==1){$('a.'+options.deleteCssClass).hide();} +for(var i=0,formCount=forms.length;i'+options.addText+'');$addBtn=$(this).parent().find('tr:last a');}else{$(this).filter(':last').after(''+options.addText+'');$addBtn=$(this).filter(':last').next();} +$addBtn.click(function(){var nextIndex=parseInt($('#id_'+options.prefix+'-TOTAL_FORMS').val());var row=$('.'+options.formCssClass+':first').clone(true).get(0);$(row).removeAttr('id').insertAfter($('.'+options.formCssClass+':last'));$(row).find('input,select,textarea,label').each(function(){updateElementIndex(this,options.prefix,nextIndex);var elem=$(this);if(elem.is('input:checkbox')||elem.is('input:radio')){elem.attr('checked',false);}else{elem.val('');}});var formCount=nextIndex+1;$('#id_'+options.prefix+'-TOTAL_FORMS').val(formCount);if(formCount>1){$('a.'+options.deleteCssClass).show();} +if(options.added)options.added($(row));return false;});} +if($(this).length==1){$('a.'+options.deleteCssClass).hide();} +return $(this);} +$.fn.formset.defaults={prefix:'form',addText:'add another',deleteText:'remove',addCssClass:'add-row',deleteCssClass:'delete-row',formCssClass:'dynamic-form',added:null,removed:null}})(jQuery)