diff --git a/jquery.tagsinput.js b/jquery.tagsinput.js index dd39357..2ca8117 100644 --- a/jquery.tagsinput.js +++ b/jquery.tagsinput.js @@ -85,8 +85,8 @@ value = jQuery.trim(value); - if (options.unique) { - var skipTag = $(this).tagExist(value); + if (options.unique || tagslist.length+1 > options.maxTags) { + var skipTag = $(this).tagExist(value) || tagslist.length+1 > options.maxTags; if(skipTag == true) { //Marks fake input as not_valid to let styling it $('#'+id+'_tag').addClass('not_valid'); @@ -261,13 +261,13 @@ $(data.fake_input).autocomplete(settings.autocomplete_url, settings.autocomplete); $(data.fake_input).bind('result',data,function(event,data,formatted) { if (data) { - $('#'+id).addTag(data[0] + "",{focus:true,unique:(settings.unique)}); + $('#'+id).addTag(data[0] + "",{focus:true,unique:(settings.unique),maxTags:(settings.maxTags)}); } }); } else if (jQuery.ui.autocomplete !== undefined) { $(data.fake_input).autocomplete(autocomplete_options); $(data.fake_input).bind('autocompleteselect',data,function(event,ui) { - $(event.data.real_input).addTag(ui.item.value,{focus:true,unique:(settings.unique)}); + $(event.data.real_input).addTag(ui.item.value,{focus:true,unique:(settings.unique),maxTags:(settings.maxTags)}); return false; }); } @@ -280,7 +280,7 @@ 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)}); + $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique),maxTags:(settings.maxTags)}); } else { $(event.data.fake_input).val($(event.data.fake_input).attr('data-default')); $(event.data.fake_input).css('color',settings.placeholderColor); @@ -294,7 +294,7 @@ if (event.which==event.data.delimiter.charCodeAt(0) || event.which==13 ) { event.preventDefault(); 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)}); + $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique),maxTags:(settings.maxTags)}); $(event.data.fake_input).resetAutosize(settings); return false; } else if (event.data.autosize) {