From 8c4581183814bf56acda88b2cac0b9aa5ef4e9d9 Mon Sep 17 00:00:00 2001 From: Mario Estrada Date: Tue, 24 May 2011 19:22:06 -0500 Subject: [PATCH] Replace jQuery.fn with $.fn since it is already wrapped, added onChange to be called after adding or removing a tag --- jquery.tagsinput.js | 56 +++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/jquery.tagsinput.js b/jquery.tagsinput.js index 6f3e6b8..3c93dff 100644 --- a/jquery.tagsinput.js +++ b/jquery.tagsinput.js @@ -19,7 +19,7 @@ var delimiter = new Array(); var tags_callbacks = new Array(); - jQuery.fn.addTag = function(value,options) { + $.fn.addTag = function(value,options) { var options = jQuery.extend({focus:false,callback:true},options); this.each(function() { @@ -55,14 +55,14 @@ f(value); } } - jQuery.fn.tagsInput.updateTagsField(this,tagslist); + $.fn.tagsInput.updateTagsField(this,tagslist); }); return false; }; - jQuery.fn.removeTag = function(value) { + $.fn.removeTag = function(value) { value = unescape(value); this.each(function() { @@ -79,7 +79,7 @@ } } - jQuery.fn.tagsInput.importTags(this,str); + $.fn.tagsInput.importTags(this,str); if (tags_callbacks[id] && tags_callbacks[id]['onRemoveTag']) { var f = tags_callbacks[id]['onRemoveTag']; @@ -91,7 +91,7 @@ }; - jQuery.fn.tagExist = function(val) { + $.fn.tagExist = function(val) { if (jQuery.inArray(val, $(this)) == -1) { return false; /* Cannot find value in array */ @@ -101,12 +101,12 @@ }; // clear all existing tags and import new ones from a string - jQuery.fn.importTags = function(str) { + $.fn.importTags = function(str) { $('#'+id+'_tagsinput .tag').remove(); - jQuery.fn.tagsInput.importTags(this,str); + $.fn.tagsInput.importTags(this,str); } - jQuery.fn.tagsInput = function(options) { + $.fn.tagsInput = function(options) { var settings = jQuery.extend({interactive:true,defaultText:'add a tag',minChars:0,width:'300px',height:'100px','hide':true,'delimiter':',',autocomplete:{selectFirst:false},'unique':true,removeWithBackspace:true},options); @@ -128,10 +128,11 @@ delimiter[id] = data.delimiter; - if (settings.onAddTag || settings.onRemoveTag) { + if (settings.onAddTag || settings.onRemoveTag || settings.onChange) { tags_callbacks[id] = new Array(); tags_callbacks[id]['onAddTag'] = settings.onAddTag; tags_callbacks[id]['onRemoveTag'] = settings.onRemoveTag; + tags_callbacks[id]['onChange'] = settings.onChange; } var markup = '
'; @@ -144,12 +145,11 @@ $(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()); + $.fn.tagsInput.importTags($(data.real_input),$(data.real_input).val()); } if (settings.interactive) { $(data.fake_input).val($(data.fake_input).attr('data-default')); @@ -185,7 +185,6 @@ $(event.data.fake_input).css('color','#666666'); return false; }); - } else { // if a user tabs out of the field, create a new tag @@ -234,23 +233,26 @@ }; - jQuery.fn.tagsInput.updateTagsField = function(obj,tagslist) { - - id = $(obj).attr('id'); - $(obj).val(tagslist.join(delimiter[id])); - }; + $.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