From ba418a20924c934d74ec848bc6219780559f409e Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Thu, 28 Apr 2011 16:49:49 -0500 Subject: [PATCH] Bug fix pertaining to over-escaping tags. --- jquery.tagsinput.js | 3 ++- jquery.tagsinput.min.js | 22 +++++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/jquery.tagsinput.js b/jquery.tagsinput.js index 2d51eb7..3b635eb 100644 --- a/jquery.tagsinput.js +++ b/jquery.tagsinput.js @@ -64,6 +64,7 @@ jQuery.fn.removeTag = function(value) { + value = unescape(value); this.each(function() { id = $(this).attr('id'); @@ -73,7 +74,7 @@ $('#'+id+'_tagsinput .tag').remove(); str = ''; for (i=0; i< old.length; i++) { - if (escape(old[i])!=value) { + if (old[i]!=value) { str = str + delimiter[id] +old[i]; } } diff --git a/jquery.tagsinput.min.js b/jquery.tagsinput.min.js index c23f775..519d183 100644 --- a/jquery.tagsinput.min.js +++ b/jquery.tagsinput.min.js @@ -1 +1,21 @@ -(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(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
';if(settings.interactive){markup=markup+''}markup=markup+'
';$(markup).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())}if(settings.interactive){$(data.fake_input).val($(data.fake_input).attr('data-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('data-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('data-default')){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:false,unique:(settings.unique)})}$(event.data.fake_input).val($(event.data.fake_input).attr('data-default'));$(event.data.fake_input).css('color','#666666');return false})}else{$(data.fake_input).bind('blur',data,function(event){var d=$(this).attr('data-default');if($(event.data.fake_input).val()!=''&&$(event.data.fake_input).val()!=d){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)})}else{$(event.data.fake_input).val($(event.data.fake_input).attr('data-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'+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){value=unescape(value);this.each(function(){id=$(this).attr('id');var old=$(this).val().split(delimiter[id]);$('#'+id+'_tagsinput .tag').remove();str='';for(i=0;i
';if(settings.interactive){markup=markup+'';} +markup=markup+'
';$(markup).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());} +if(settings.interactive){$(data.fake_input).val($(data.fake_input).attr('data-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('data-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('data-default')){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:false,unique:(settings.unique)});} +$(event.data.fake_input).val($(event.data.fake_input).attr('data-default'));$(event.data.fake_input).css('color','#666666');return false;});}else{$(data.fake_input).bind('blur',data,function(event){var d=$(this).attr('data-default');if($(event.data.fake_input).val()!=''&&$(event.data.fake_input).val()!=d){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)});}else{$(event.data.fake_input).val($(event.data.fake_input).attr('data-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