mirror of
https://github.com/wahyd4/jQuery-Tags-Input.git
synced 2026-08-09 04:46:44 +10:00
Replace jQuery.fn with $.fn since it is already wrapped, added onChange to be called after adding or removing a tag
This commit is contained in:
+29
-27
@@ -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 = '<div id="'+id+'_tagsinput" class="tagsinput"><div id="'+id+'_addTag">';
|
||||
@@ -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<tags.length; i++) {
|
||||
$(obj).addTag(tags[i],{focus:false,callback:false});
|
||||
}
|
||||
};
|
||||
$.fn.tagsInput.importTags = function(obj,val) {
|
||||
$(obj).val('');
|
||||
id = $(obj).attr('id');
|
||||
var tags = val.split(delimiter[id]);
|
||||
for (i=0; i<tags.length; i++) {
|
||||
$(obj).addTag(tags[i],{focus:false,callback:false});
|
||||
}
|
||||
if(tags_callbacks[id] && tags_callbacks[id]['onChange'])
|
||||
{
|
||||
var f = tags_callbacks[id]['onChange'];
|
||||
f(obj);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
})(jQuery);
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user