3 Commits
Author SHA1 Message Date
melkorm ec21d648fb Bumped version.
Okey, so I did a bit dirty fix for this that if autocomplete popup is visible then blur doesn not tak an action, otherwise adds a new tag. Also added unique option to second blur (with autocomplete).
2011-04-18 10:47:57 -07:00
melkorm 613859b0f0 README
+ 2 new options.
2011-04-17 04:30:21 -07:00
melkorm 8330eb7cba Added two options:
1. minChars
2. maxChars
Also fixed a bug (I hope so it was one) when using autocomplete, on pressing enter two tags were added:
1st : what we typed
2hnd : what autocomplete returned.
2011-04-16 10:16:38 -07:00
2 changed files with 29 additions and 28 deletions
+3 -1
View File
@@ -57,6 +57,8 @@ $(selector).tagsInput({
'autocomplete': { option: value, option: value},
'height':'100px',
'width':'300px',
'defaultText':'add a tag'
'defaultText':'add a tag',
'minChars' : 0,
'maxChars' : 0 //if not provided there is no limit
});
+26 -27
View File
@@ -1,6 +1,6 @@
/*
jQuery Tags Input Plugin 1.2.2
jQuery Tags Input Plugin 1.2.3
Copyright (c) 2010 XOXCO, Inc
@@ -96,7 +96,7 @@
jQuery.fn.tagsInput = function(options) {
var settings = jQuery.extend({defaultText:'add a tag',width:'300px',height:'100px','hide':true,'delimiter':',',autocomplete:{selectFirst:false},'unique':true},options);
var settings = jQuery.extend({defaultText:'add a tag',minChars:0,width:'300px',height:'100px','hide':true,'delimiter':',',autocomplete:{selectFirst:false},'unique':true},options);
this.each(function() {
if (settings.hide) {
@@ -134,16 +134,6 @@
$(event.data.fake_input).focus();
});
// if user types a comma, create a new tag
$(data.fake_input).bind('keypress',data,function(event) {
if (event.which==event.data.delimiter.charCodeAt(0) || event.which==13) {
$(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)});
return false;
}
});
$(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('');
@@ -151,20 +141,21 @@
$(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) {
d = data + "";
$(event.data.real_input).addTag(d,{focus:true,unique:(settings.unique)});
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 ($(event.data.fake_input).val() != $(event.data.fake_input).attr('default')) {
$(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:false});
$(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)))
$(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('default'));
$(event.data.fake_input).css('color','#666666');
return false;
@@ -172,14 +163,13 @@
} else {
// if a user tabs out of the field, create a new tag
// this is only available if autocomplete is not used.
$(data.fake_input).bind('blur',data,function(event) {
var d = $(this).attr('default');
if ($(event.data.fake_input).val()!='' && $(event.data.fake_input).val()!=d) {
event.preventDefault();
$(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)});
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('default'));
$(event.data.fake_input).css('color','#666666');
@@ -188,8 +178,17 @@
});
}
// if user types a comma, create a new tag
$(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;