Skip to content
Tag Handler is a jQuery plugin used for managing tag-type metadata.
JavaScript CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

jQuery Tag Handler v1.3.1 Copyright (C) 2010-2011 Mark Jubenville Mark Jubenville -

Development time supported by: Raybec Communications

Modified by Javier Fernandez Escribano - Added autocomplete queries as the user writes

Development time supported by: Tourist Eye

Based heavily on: Tag it! by Levy Carneiro Jr (

Tag icons/cursors converted from: From the Silk icon set:

Loader image created at:


Tag Handler is a jQuery plugin used for managing tag-type metadata.

Basic Usage Instructions

  • Tag Handler must be attached to one or more

      tags in your HTML.

    • To add a tag, click on the tag box, type in a name, and hit enter or comma.

    • Tags may be removed from the tag box by hitting backspace inside the box or by clicking on the tag.

    • The list of tags may be initialized in 1 of 3 ways:

    1. By passing arrays of tag names as options to the plugin ("availableTags" and "assignedTags"); or,

    2. By supplying a "getURL" for the tags to be retrieved via AJAX.

    When using this method, the server must supply a JSON formatted array named "availableTags" and optionally an additional array named "assignedTags".

    1. By supplying a "getURL" and initLoad: false.

    When using this method, it will get the "assignedTags" from the array as in method 1. When the user writes a tag, it will query the server searching for similar tags.

    Either way, the information from these 3 methods will be used in the following manner:

    availableTags: each item in this array will populate the autocomplete drop-down list

    assignedTags: each item this array will become a tag in the tag box

    • Tags may be sent back to the server by supplying an "updateURL". In this case, an array will be sent back to the server named "tags".

    • You can define whether the user can create new tags or select tags only.

    • You can define if the user can edit the tags.

    • A sample CSS file is included that can be used to help with formatting tags.

    Plugin Examples

    Example 1: The Tag Handler will be initialized with no options and no default tags:


    Example 2: The Tag Handler will be initialized with preset tags from the assignedTags and availableTags arrays, and autocomplete witll be turned on:

    $("#array_tag_handler").tagHandler({ assignedTags: [ 'Perl' ], availableTags: [ 'C', 'C++', 'C#', 'Java', 'Perl', 'PHP', 'Python' ], autocomplete: true });

    See for more examples

    Plugin Options

    Tag data specific options:

    Option Description Default Value

    assignedTags array to pass a list of already assigned tags [] availableTags array to pass a list of all available tags [] getData data field with info for getURL '' getURL URL for retrieving tag lists via ajax {} initLoad indicates if all tags should be loaded on init true updateData data field with additional info for updtateURL {} updateURL URL for saving tags via ajax ''

    Callback options:

    Option Description Default Value

    onAdd function to be called when a new tag is added {} onDelete function to be called when a tag is deleted {} afterAdd function to be called after a new tag is added {} afterDelete function to be called after a tag is deleted {}

    Miscellaneous options:

    Option Description Default Value

    allowAdd indicates whether the user can add new tags true allowEdit indicates whether the tag list is editable true autocomplete requires jqueryui autocomplete plugin false autoUpdate indicates whether updating occurs automatically false whenever a tag is added/deleted - if set true, the save button will not be shown className base class name that will be added to the tag 'tagHandler' container debug will turn on some console logging debug info false delimiter extra delimiter to use to separate tags '' note 'enter' and 'comma' are always allowed maxTags sets a limit to the number of allowed tags, set 0 to 0 to allow unlimited minChars minimum number of chars to type before starting 0 autocomplete msgError message shown when there is an error loading 'There was an the tags error getting the tag list.' msgNoNewTag message shown when the user cannot add a new 'You don't have tag permission to create a new tag.' queryname query term used to send user typed data 'q' sortTags sets sorting of tag names alphabetically true


    Name Description Usage

    getTags returns an array of tags .tagHandler("getTags") getSerializedTags returns comma separated .tagHandler("getSerializedTags") string of tags


    This program is free software: you can redistribute it and/or modify it under the terms of the Lesser GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public License for more details.

    You should have received a copy of the Lesser GNU General Public License along with this program. If not, see < >.

You can’t perform that action at this time.