mirror of
https://github.com/wahyd4/jQuery-Tags-Input.git
synced 2026-08-14 15:26:33 +10:00
added the ability to require unique tags
This commit is contained in:
+19
-4
@@ -28,8 +28,13 @@
|
||||
if (tagslist[0] == '') {
|
||||
tagslist = new Array();
|
||||
}
|
||||
|
||||
value = jQuery.trim(value);
|
||||
if (value !='') {
|
||||
if (options.unique) {
|
||||
skipTag = $(tagslist).tagExist(value);
|
||||
}
|
||||
|
||||
if (value !='' && skipTag != true) {
|
||||
|
||||
$('<span class="tag">'+value + ' <a href="#" title="Remove tag" onclick="return $(\'#'+id + '\').removeTag(\'' + escape(value) + '\');">x</a></span>').insertBefore('#'+id+'_addTag');
|
||||
tagslist.push(value);
|
||||
@@ -71,6 +76,15 @@
|
||||
|
||||
};
|
||||
|
||||
jQuery.fn.tagExist = function(val) {
|
||||
|
||||
if (jQuery.inArray(val, $(this)) == -1) {
|
||||
return false; /* Cannot find value in array */
|
||||
} else {
|
||||
return true; /* Value found */
|
||||
}
|
||||
};
|
||||
|
||||
// clear all existing tags and import new ones from a string
|
||||
jQuery.fn.importTags = function(str) {
|
||||
$('#'+id+'_tagsinput .tag').remove();
|
||||
@@ -121,7 +135,7 @@
|
||||
$(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});
|
||||
$(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
@@ -138,7 +152,7 @@
|
||||
$(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});
|
||||
$(event.data.real_input).addTag(d,{focus:true,unique:(settings.unique)});
|
||||
}
|
||||
});;
|
||||
|
||||
@@ -162,7 +176,7 @@
|
||||
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});
|
||||
$(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');
|
||||
@@ -197,5 +211,6 @@
|
||||
$(obj).addTag(tags[i],{focus:false});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
})(jQuery);
|
||||
|
||||
Reference in New Issue
Block a user