diff --git a/bootstrap-tagsinput.jquery.json b/bootstrap-tagsinput.jquery.json index 1924eb61..8c8be068 100644 --- a/bootstrap-tagsinput.jquery.json +++ b/bootstrap-tagsinput.jquery.json @@ -22,6 +22,6 @@ "select", "form" ], - "homepage": "http://timschlechter.github.io/bootstrap-tagsinput/examples/", - "download": "http://timschlechter.github.io/bootstrap-tagsinput/build/bootstrap-tagsinput.zip" + "download": "http://timschlechter.github.io/bootstrap-tagsinput/build/bootstrap-tagsinput.zip", + "homepage": "http://timschlechter.github.io/bootstrap-tagsinput/examples/" } \ No newline at end of file diff --git a/build/bootstrap-tagsinput.zip b/build/bootstrap-tagsinput.zip index af45ec5e..bf4c19f0 100644 Binary files a/build/bootstrap-tagsinput.zip and b/build/bootstrap-tagsinput.zip differ diff --git a/dist/bootstrap-tagsinput.js b/dist/bootstrap-tagsinput.js index 4c97acee..9898c78d 100644 --- a/dist/bootstrap-tagsinput.js +++ b/dist/bootstrap-tagsinput.js @@ -242,6 +242,7 @@ if (self.options.source) typeahead.source = self.options.source; + // typeahead version 2.3 if (typeahead.source && $.fn.typeahead) { makeOptionFunction(typeahead, 'source'); @@ -285,6 +286,25 @@ return text.replace( regex, "$1" ); } }); + // Typeahead boostrap 3 + } else if ((typeahead.remote || typeahead.local || typeahead.prefetch) && $.fn.typeahead) { + // set valueKey for prefetch + if (typeahead.prefetch && !typeahead.valueKey) { + typeahead.valueKey = options.itemText || 'text'; + } + + typeahead = $.extend({ + name: self.$element.attr('name') || null + , template: '

{{' + (options.itemText ? options.itemText : 'text') + '}}

' + , engine: Hogan + }, + typeahead + ); + + self.$input.typeahead(typeahead).on('typeahead:selected', $.proxy(function (obj, datum) { + self.$element.tagsinput('add', datum); + self.$element.tagsinput('input').typeahead('setQuery', ''); + }, self)); } self.$container.on('click', $.proxy(function(event) { diff --git a/dist/bootstrap-tagsinput.min.js b/dist/bootstrap-tagsinput.min.js index 3d652628..168b38f8 100644 --- a/dist/bootstrap-tagsinput.min.js +++ b/dist/bootstrap-tagsinput.min.js @@ -2,7 +2,6 @@ * bootstrap-tagsinput v0.3.9 by Tim Schlechter * */ -!function(a){"use strict";function b(b,c){this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a('
'),this.$input=a('').appendTo(this.$container),this.$element.after(this.$container),this.build(c)}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?h.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}var g={tagClass:function(){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},freeInput:!0,maxTags:void 0,confirmKeys:[13],onTagExists:function(a,b){b.hide().fadeIn()}};b.prototype={constructor:b,add:function(b,c){var d=this;if(!(d.options.maxTags&&d.itemsArray.length>=d.options.maxTags||b!==!1&&!b)){if("object"==typeof b&&!d.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(d.isSelect&&!d.multiple&&d.itemsArray.length>0&&d.remove(d.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var f=b.split(",");if(f.length>1){for(var g=0;g'+e(i)+'');if(m.data("item",b),d.findInputWrapper().before(m),m.after(" "),d.isSelect&&!a('option[value="'+escape(h)+'"]',d.$element)[0]){var n=a("");n.data("item",b),n.attr("value",h),d.$element.append(n)}c||d.pushVal(),d.options.maxTags===d.itemsArray.length&&d.$container.addClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemAdded",{item:b}))}}}},remove:function(b,c){var d=this;d.objectItems&&(b="object"==typeof b?a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==d.options.itemValue(b)})[0]:a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==b})[0]),b&&(a(".tag",d.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",d.$element).filter(function(){return a(this).data("item")===b}).remove(),d.itemsArray.splice(a.inArray(b,d.itemsArray),1)),c||d.pushVal(),d.options.maxTags>d.itemsArray.length&&d.$container.removeClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemRemoved",{item:b}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal(),b.options.maxTags&&!this.isEnabled()&&this.enable()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;e.options=a.extend({},g,b);var h=e.options.typeahead||{};e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),c(e.options,"tagClass"),e.options.source&&(h.source=e.options.source),h.source&&a.fn.typeahead&&(d(h,"source"),e.$input.typeahead({source:function(b,c){function d(a){for(var b=[],d=0;d$1")}})),e.$container.on("click",a.proxy(function(){e.$input.focus()},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus());break;default:e.options.freeInput&&a.inArray(b.which,e.options.confirmKeys)>=0&&(e.add(c.val()),c.val(""),b.preventDefault())}c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===g.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d){var e=[];return this.each(function(){var f=a(this).data("tagsinput");if(f){var g=f[c](d);void 0!==g&&e.push(g)}else f=new b(this,c),a(this).data("tagsinput",f),e.push(f),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?e.length>1?e:e[0]:e},a.fn.tagsinput.Constructor=b;var h=a("
");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery); -/* -//@ sourceMappingURL=bootstrap-tagsinput.min.js.map -*/ \ No newline at end of file + +!function(a){"use strict";function b(b,c){this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a('
'),this.$input=a('').appendTo(this.$container),this.$element.after(this.$container),this.build(c)}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?h.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}var g={tagClass:function(){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},freeInput:!0,maxTags:void 0,confirmKeys:[13],onTagExists:function(a,b){b.hide().fadeIn()}};b.prototype={constructor:b,add:function(b,c){var d=this;if(!(d.options.maxTags&&d.itemsArray.length>=d.options.maxTags||b!==!1&&!b)){if("object"==typeof b&&!d.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(d.isSelect&&!d.multiple&&d.itemsArray.length>0&&d.remove(d.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var f=b.split(",");if(f.length>1){for(var g=0;g'+e(i)+'');if(m.data("item",b),d.findInputWrapper().before(m),m.after(" "),d.isSelect&&!a('option[value="'+escape(h)+'"]',d.$element)[0]){var n=a("");n.data("item",b),n.attr("value",h),d.$element.append(n)}c||d.pushVal(),d.options.maxTags===d.itemsArray.length&&d.$container.addClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemAdded",{item:b}))}}}},remove:function(b,c){var d=this;d.objectItems&&(b="object"==typeof b?a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==d.options.itemValue(b)})[0]:a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==b})[0]),b&&(a(".tag",d.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",d.$element).filter(function(){return a(this).data("item")===b}).remove(),d.itemsArray.splice(a.inArray(b,d.itemsArray),1)),c||d.pushVal(),d.options.maxTags>d.itemsArray.length&&d.$container.removeClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemRemoved",{item:b}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal(),b.options.maxTags&&!this.isEnabled()&&this.enable()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;e.options=a.extend({},g,b);var h=e.options.typeahead||{};e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),c(e.options,"tagClass"),e.options.source&&(h.source=e.options.source),h.source&&a.fn.typeahead?(d(h,"source"),e.$input.typeahead({source:function(b,c){function d(a){for(var b=[],d=0;d$1")}})):(h.remote||h.local||h.prefetch)&&a.fn.typeahead&&(h.prefetch&&!h.valueKey&&(h.valueKey=b.itemText||"text"),h=a.extend({name:e.$element.attr("name")||null,template:"

{{"+(b.itemText?b.itemText:"text")+"}}

",engine:Hogan},h),e.$input.typeahead(h).on("typeahead:selected",a.proxy(function(a,b){e.$element.tagsinput("add",b),e.$element.tagsinput("input").typeahead("setQuery","")},e))),e.$container.on("click",a.proxy(function(){e.$input.focus()},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus());break;default:e.options.freeInput&&a.inArray(b.which,e.options.confirmKeys)>=0&&(e.add(c.val()),c.val(""),b.preventDefault())}c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===g.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d){var e=[];return this.each(function(){var f=a(this).data("tagsinput");if(f){var g=f[c](d);void 0!==g&&e.push(g)}else f=new b(this,c),a(this).data("tagsinput",f),e.push(f),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?e.length>1?e:e[0]:e},a.fn.tagsinput.Constructor=b;var h=a("
");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery); +//# sourceMappingURL=bootstrap-tagsinput.min.js.map \ No newline at end of file diff --git a/dist/bootstrap-tagsinput.min.js.map b/dist/bootstrap-tagsinput.min.js.map index 885bce5a..81746ca9 100644 --- a/dist/bootstrap-tagsinput.min.js.map +++ b/dist/bootstrap-tagsinput.min.js.map @@ -1 +1 @@ -{"version":3,"file":"dist/bootstrap-tagsinput.min.js","sources":["dist/bootstrap-tagsinput.js"],"names":["$","TagsInput","element","options","this","itemsArray","$element","hide","isSelect","tagName","multiple","hasAttribute","objectItems","itemValue","placeholderText","attr","inputSize","Math","max","length","$container","$input","appendTo","after","build","makeOptionItemFunction","key","propertyName","item","makeOptionFunction","value","htmlEncode","htmlEncodeContainer","text","html","doGetCaretPosition","oField","iCaretPos","document","selection","focus","oSel","createRange","moveStart","selectionStart","defaultOptions","tagClass","toString","itemText","freeInput","maxTags","undefined","confirmKeys","onTagExists","$tag","fadeIn","prototype","constructor","add","dontPushVal","self","match","remove","items","split","i","pushVal","existing","grep","$existingTag","filter","data","push","findInputWrapper","before","escape","$option","append","addClass","trigger","Event","other","splice","inArray","removeClass","removeAll","pop","isEnabled","enable","refresh","each","contents","nodeType","nodeValue","option","val","map","extend","typeahead","source","fn","query","process","processItems","texts","isFunction","success","when","then","updater","matcher","toLowerCase","indexOf","trim","sorter","sort","highlighter","regex","RegExp","replace","on","proxy","event","target","$inputWrapper","which","prev","next","$prevTag","$nextTag","preventDefault","closest","destroy","off","removeData","show","input","elt","container","parentNode","tagsinput","arg1","arg2","results","retVal","Constructor","window","jQuery"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dist/bootstrap-tagsinput.min.js","sources":["dist/bootstrap-tagsinput.js"],"names":["$","TagsInput","element","options","this","itemsArray","$element","hide","isSelect","tagName","multiple","hasAttribute","objectItems","itemValue","placeholderText","attr","inputSize","Math","max","length","$container","$input","appendTo","after","build","makeOptionItemFunction","key","propertyName","item","makeOptionFunction","value","htmlEncode","htmlEncodeContainer","text","html","doGetCaretPosition","oField","iCaretPos","document","selection","focus","oSel","createRange","moveStart","selectionStart","defaultOptions","tagClass","toString","itemText","freeInput","maxTags","undefined","confirmKeys","onTagExists","$tag","fadeIn","prototype","constructor","add","dontPushVal","self","match","remove","items","split","i","pushVal","existing","grep","$existingTag","filter","data","push","findInputWrapper","before","escape","$option","append","addClass","trigger","Event","other","splice","inArray","removeClass","removeAll","pop","isEnabled","enable","refresh","each","contents","nodeType","nodeValue","option","val","map","extend","typeahead","source","fn","query","process","processItems","texts","isFunction","success","when","then","updater","matcher","toLowerCase","indexOf","trim","sorter","sort","highlighter","regex","RegExp","replace","remote","local","prefetch","valueKey","name","template","engine","Hogan","on","proxy","obj","datum","tagsinput","event","target","$inputWrapper","which","prev","next","$prevTag","$nextTag","preventDefault","closest","destroy","off","removeData","show","input","elt","container","parentNode","arg1","arg2","results","retVal","Constructor","window","jQuery"],"mappings":"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"} \ No newline at end of file diff --git a/examples/assets/app_bs3.js b/examples/assets/app_bs3.js index 7c391a02..83c7a545 100644 --- a/examples/assets/app_bs3.js +++ b/examples/assets/app_bs3.js @@ -1,17 +1,22 @@ var elt = $('.example_typeahead > > input'); -elt.tagsinput(); -elt.tagsinput('input').typeahead({ - prefetch: 'assets/citynames.json' -}).bind('typeahead:selected', $.proxy(function (obj, datum) { - this.tagsinput('add', datum.value); - this.tagsinput('input').typeahead('setQuery', ''); -}, elt)); +elt.tagsinput({ + typeahead: { + remote: 'assets/query.json.html?q=%QUERY' + }, + itemValue: 'value', + itemText: 'text' +}); +elt.tagsinput('add', { "value": 1 , "text": "Amsterdam" , "continent": "Europe" }); +elt.tagsinput('add', { "value": 4 , "text": "Washington" , "continent": "America" }); elt = $('.example_objects_as_tags > > input'); elt.tagsinput({ itemValue: 'value', - itemText: 'text' + itemText: 'text', + typeahead: { + prefetch: 'assets/cities.json' + } }); elt.tagsinput('add', { "value": 1 , "text": "Amsterdam" , "continent": "Europe" }); elt.tagsinput('add', { "value": 4 , "text": "Washington" , "continent": "America" }); @@ -19,17 +24,6 @@ elt.tagsinput('add', { "value": 7 , "text": "Sydney" , "continent": "Austra elt.tagsinput('add', { "value": 10, "text": "Beijing" , "continent": "Asia" }); elt.tagsinput('add', { "value": 13, "text": "Cairo" , "continent": "Africa" }); -elt.tagsinput('input').typeahead({ - valueKey: 'text', - prefetch: 'assets/cities.json', - template: '

{{text}}

', - engine: Hogan - -}).bind('typeahead:selected', $.proxy(function (obj, datum) { - this.tagsinput('add', datum); - this.tagsinput('input').typeahead('setQuery', ''); -}, elt)); - elt = $('.example_tagclass > > input'); elt.tagsinput({ tagClass: function(item) { @@ -42,20 +36,13 @@ elt.tagsinput({ } }, itemValue: 'value', - itemText: 'text' + itemText: 'text', + typeahead: { + prefetch: 'assets/cities.json' + } }); elt.tagsinput('add', { "value": 1 , "text": "Amsterdam" , "continent": "Europe" }); elt.tagsinput('add', { "value": 4 , "text": "Washington" , "continent": "America" }); elt.tagsinput('add', { "value": 7 , "text": "Sydney" , "continent": "Australia" }); elt.tagsinput('add', { "value": 10, "text": "Beijing" , "continent": "Asia" }); elt.tagsinput('add', { "value": 13, "text": "Cairo" , "continent": "Africa" }); - -elt.tagsinput('input').typeahead({ - valueKey: 'text', - prefetch: 'assets/cities.json', - template: '

{{text}}

', - engine: Hogan -}).bind('typeahead:selected', $.proxy(function (obj, datum) { - this.tagsinput('add', datum); - this.tagsinput('input').typeahead('setQuery', ''); -}, elt)); \ No newline at end of file diff --git a/examples/assets/query.json.html b/examples/assets/query.json.html new file mode 100644 index 00000000..65153375 --- /dev/null +++ b/examples/assets/query.json.html @@ -0,0 +1,6 @@ +[ + { "value": 7 , "text": "Sydney" , "continent": "Australia" }, + { "value": 8 , "text": "Wellington" , "continent": "Australia" }, + { "value": 12, "text": "Kathmandu" , "continent": "Asia" }, + { "value": 14, "text": "Cape Town" , "continent": "Africa" } +] \ No newline at end of file diff --git a/examples/bootstrap3/index.html b/examples/bootstrap3/index.html index 9d1f891e..d430cf03 100644 --- a/examples/bootstrap3/index.html +++ b/examples/bootstrap3/index.html @@ -154,7 +154,7 @@

Typeahead

Typeahead is not included in Bootstrap 3, so you'll have to include your own typeahead library. I'd recommed typeahead.js. An example of using this is shown below.
- +
@@ -170,12 +170,13 @@

Typeahead

$('input').tagsinput(); // Adding custom typeahead support using http://twitter.github.io/typeahead.js -$('input').tagsinput('input').typeahead({ - prefetch: 'citynames.json' -}).bind('typeahead:selected', $.proxy(function (obj, datum) { - this.tagsinput('add', datum.value); - this.tagsinput('input').typeahead('setQuery', ''); -}, $('input'))); +$('input').tagsinput({ + typeahead: { + remote: 'assets/query.json.html?q=%QUERY', + template: '<p>{{text}}</p>', // optional (this value by default) + engine: Hogan // optional (this value by default) + } +}); </script>
@@ -190,7 +191,7 @@

Objects as tags

Instead of just adding strings as tags, bind objects to your tags. This makes it possible to set id values in your input field's value, instead of just the tag's text.

- +
@@ -205,7 +206,12 @@

Objects as tags

<script> $('input').tagsinput({ itemValue: 'value', - itemText: 'text' + itemText: 'text', + typeahead: { + prefetch: 'assets/cities.json', + template: '<p>{{text}}</p>', // optional (this value by default) + engine: Hogan // optional (this value by default) + } }); $('input').tagsinput('add', { "value": 1 , "text": "Amsterdam" , "continent": "Europe" }); $('input').tagsinput('add', { "value": 4 , "text": "Washington" , "continent": "America" }); @@ -213,16 +219,7 @@

Objects as tags

$('input').tagsinput('add', { "value": 10, "text": "Beijing" , "continent": "Asia" }); $('input').tagsinput('add', { "value": 13, "text": "Cairo" , "continent": "Africa" }); -$('input').tagsinput('input').typeahead({ - valueKey: 'text', - prefetch: 'assets/cities.json', - template: '<p>{{text}}</p>', - engine: Hogan - -}).bind('typeahead:selected', $.proxy(function (obj, datum) { - this.tagsinput('add', datum); - this.tagsinput('input').typeahead('setQuery', ''); -}, $('input'))); +$('input').tagsinput('input').); </script>
@@ -237,7 +234,7 @@

Categorizing tags

You can set a fixed css class for your tags, or determine dynamically by provinding a custom function.

- +
@@ -261,7 +258,12 @@

Categorizing tags

} }, itemValue: 'value', - itemText: 'text' + itemText: 'text', + typeahead: { + prefetch: 'cities.json', + template: '<p>{{text}}</p>', // optional (this value by default) + engine: Hogan // optional (this value by default) + } }); $('input').tagsinput('add', { "value": 1 , "text": "Amsterdam" , "continent": "Europe" }); $('input').tagsinput('add', { "value": 4 , "text": "Washington" , "continent": "America" }); @@ -269,16 +271,6 @@

Categorizing tags

$('input').tagsinput('add', { "value": 10, "text": "Beijing" , "continent": "Asia" }); $('input').tagsinput('add', { "value": 13, "text": "Cairo" , "continent": "Africa" }); -// Adding custom typeahead support using http://twitter.github.io/typeahead.js -$('input').tagsinput('input').typeahead({ - valueKey: 'text', - prefetch: 'cities.json', - template: '<p>{{text}}</p>', - engine: Hogan -}).bind('typeahead:selected', $.proxy(function (obj, datum) { - this.tagsinput('add', datum); - this.tagsinput('input').typeahead('setQuery', ''); -}, $('input'))); </script>
@@ -447,7 +439,7 @@

Options

$('input').tagsinput({
   typeahead: {
-    source: ['Amsterdam', 'Washington', 'Sydney', 'Beijing', 'Cairo'],
+    local: ['Amsterdam', 'Washington', 'Sydney', 'Beijing', 'Cairo'],
     freeInput: true
   }
 });
@@ -460,24 +452,77 @@

Options

- source + local

An array (or function returning a promise or array), which will be used as source for a typeahead.

$('input').tagsinput({
   typeahead: {
-    source: ['Amsterdam', 'Washington', 'Sydney', 'Beijing', 'Cairo']
+    local: ['Amsterdam', 'Washington', 'Sydney', 'Beijing', 'Cairo']
+  }
+});
+ + + + + remote + +

An url or remote object (Typeahead doc) , which will be used as source for a typeahead. + +

$('input').tagsinput({
+  itemValue: 'value',
+  itemText: 'text',
+  typeahead: {
+    remote: "http://someservice.com/%QUERY"
   }
 });
$('input').tagsinput({
-  typeahead: {                  
-    source: function(query) {
-      return $.get('http://someservice.com');
+  itemValue: 'value',
+  itemText: 'text',
+  typeahead: {
+    remote: {
+        url: "http://someservice.com/%QUERY",
+        dataType: "json"
     }
   }
 });
- + + + + freeInput + +

Allow creating tags which are not returned by typeahead's source (default: true)

+
+ This is only possible when using string as tags. When itemValue option is set, this option will be ignored. +
+
$('input').tagsinput({
+  typeahead: {
+    prefetch: ['Amsterdam', 'Washington', 'Sydney', 'Beijing', 'Cairo'],
+    freeInput: true
+  }
+});
+ + + + typeahead +

Object containing typeahead specific options + + + + + prefetch + +

Can be a URL to a JSON file containing an array. + +

$('input').tagsinput({
+  itemValue: 'value',
+  itemText: 'text',
+  typeahead: {
+    prefetch: 'cities.json'
+  }
+});
+ onTagExists @@ -580,7 +625,7 @@

Methods

- + diff --git a/src/bootstrap-tagsinput.js b/src/bootstrap-tagsinput.js index 4c97acee..9898c78d 100644 --- a/src/bootstrap-tagsinput.js +++ b/src/bootstrap-tagsinput.js @@ -242,6 +242,7 @@ if (self.options.source) typeahead.source = self.options.source; + // typeahead version 2.3 if (typeahead.source && $.fn.typeahead) { makeOptionFunction(typeahead, 'source'); @@ -285,6 +286,25 @@ return text.replace( regex, "$1" ); } }); + // Typeahead boostrap 3 + } else if ((typeahead.remote || typeahead.local || typeahead.prefetch) && $.fn.typeahead) { + // set valueKey for prefetch + if (typeahead.prefetch && !typeahead.valueKey) { + typeahead.valueKey = options.itemText || 'text'; + } + + typeahead = $.extend({ + name: self.$element.attr('name') || null + , template: '

{{' + (options.itemText ? options.itemText : 'text') + '}}

' + , engine: Hogan + }, + typeahead + ); + + self.$input.typeahead(typeahead).on('typeahead:selected', $.proxy(function (obj, datum) { + self.$element.tagsinput('add', datum); + self.$element.tagsinput('input').typeahead('setQuery', ''); + }, self)); } self.$container.on('click', $.proxy(function(event) {