diff --git a/jquery.tagsinput.min.js b/jquery.tagsinput.min.js index 7e40b83..728eda3 100644 --- a/jquery.tagsinput.min.js +++ b/jquery.tagsinput.min.js @@ -1,11 +1,13 @@ -(function($){var delimiter=new Array();jQuery.fn.addTag=function(value,options){var options=jQuery.extend({focus:false},options);this.each(function(){id=$(this).attr('id');var tagslist=$(this).val().split(delimiter[id]);if(tagslist[0]==''){tagslist=new Array();} +(function($){var delimiter=new Array();var tags_callbacks=new Array();jQuery.fn.addTag=function(value,options){var options=jQuery.extend({focus:false,callback:true},options);this.each(function(){id=$(this).attr('id');var tagslist=$(this).val().split(delimiter[id]);if(tagslist[0]==''){tagslist=new Array();} value=jQuery.trim(value);if(options.unique){skipTag=$(tagslist).tagExist(value);}else{skipTag=false;} -if(value!=''&&skipTag!=true){$(''+value+'  x').insertBefore('#'+id+'_addTag');tagslist.push(value);$('#'+id+'_tag').val('');if(options.focus){$('#'+id+'_tag').focus();}else{$('#'+id+'_tag').blur();}} +if(value!=''&&skipTag!=true){$(''+value+'  x').insertBefore('#'+id+'_addTag');tagslist.push(value);$('#'+id+'_tag').val('');if(options.focus){$('#'+id+'_tag').focus();}else{$('#'+id+'_tag').blur();} +if(options.callback&&tags_callbacks[id]&&tags_callbacks[id]['onAddTag']){var f=tags_callbacks[id]['onAddTag'];f(value);}} jQuery.fn.tagsInput.updateTagsField(this,tagslist);});return false;};jQuery.fn.removeTag=function(value){this.each(function(){id=$(this).attr('id');var old=$(this).val().split(delimiter[id]);$('#'+id+'_tagsinput .tag').remove();str='';for(i=0;i
').insertAfter(this);$(data.holder).css('width',settings.width);$(data.holder).css('height',settings.height);if($(data.real_input).val()!=''){jQuery.fn.tagsInput.importTags($(data.real_input),$(data.real_input).val());}else{$(data.fake_input).val($(data.fake_input).attr('default'));$(data.fake_input).css('color','#666666');} +data=jQuery.extend({pid:id,real_input:'#'+id,holder:'#'+id+'_tagsinput',input_wrapper:'#'+id+'_addTag',fake_input:'#'+id+'_tag'},settings);delimiter[id]=data.delimiter;if(settings.onAddTag||settings.onRemoveTag){tags_callbacks[id]=new Array();tags_callbacks[id]['onAddTag']=settings.onAddTag;tags_callbacks[id]['onRemoveTag']=settings.onRemoveTag;} +$('
').insertAfter(this);$(data.holder).css('width',settings.width);$(data.holder).css('height',settings.height);if($(data.real_input).val()!=''){jQuery.fn.tagsInput.importTags($(data.real_input),$(data.real_input).val());}else{$(data.fake_input).val($(data.fake_input).attr('default'));$(data.fake_input).css('color','#666666');} $(data.holder).bind('click',data,function(event){$(event.data.fake_input).focus();});$(data.fake_input).bind('focus',data,function(event){if($(event.data.fake_input).val()==$(event.data.fake_input).attr('default')){$(event.data.fake_input).val('');} $(event.data.fake_input).css('color','#000000');});if(settings.autocomplete_url!=undefined){$(data.fake_input).autocomplete(settings.autocomplete_url,settings.autocomplete).bind('result',data,function(event,data,formatted){if(data) {$(event.data.real_input).addTag(formatted,{focus:true,unique:(settings.unique)});}});$(data.fake_input).bind('blur',data,function(event){if($('.ac_results').is(':visible'))return false;if($(event.data.fake_input).val()!=$(event.data.fake_input).attr('default')){if((event.data.minChars<=$(event.data.fake_input).val().length)&&(!event.data.maxChars||(event.data.maxChars>=$(event.data.fake_input).val().length))) @@ -14,4 +16,4 @@ $(event.data.fake_input).val($(event.data.fake_input).attr('default'));$(event.d $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)});}else{$(event.data.fake_input).val($(event.data.fake_input).attr('default'));$(event.data.fake_input).css('color','#666666');} return false;});} $(data.fake_input).bind('keypress',data,function(event){if(event.which==event.data.delimiter.charCodeAt(0)||event.which==13){if((event.data.minChars<=$(event.data.fake_input).val().length)&&(!event.data.maxChars||(event.data.maxChars>=$(event.data.fake_input).val().length))) -$(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)});return false;}});$(data.fake_input).blur();return false;});return this;};jQuery.fn.tagsInput.updateTagsField=function(obj,tagslist){id=$(obj).attr('id');$(obj).val(tagslist.join(delimiter[id]));};jQuery.fn.tagsInput.importTags=function(obj,val){$(obj).val('');id=$(obj).attr('id');var tags=val.split(delimiter[id]);for(i=0;i